Function at 0x599fc0
Capabilities:
Parse credit card information
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x59ae39
sub esp, 0x80
movzx eax, word [esp + 0x8c]
test ax, 2
jne 0x59ad88
lea eax, [0x604c20]
mov dword [esp], eax
call fcn.00409a10
mov eax, dword [esp + 4]
movzx ecx, word [esp + 0x8c]
mov word [eax], cx
mov ecx, dword [esp + 0x88]
mov dword [eax + 0x1c], ecx
mov edx, dword [0x7d95f0]
test edx, edx
jne 0x59ad69
mov edx, dword [esp + 0x84]
mov dword [eax + 0x18], edx
mov dword [esp + 0x70], eax
mov ebx, edx
mov ebp, ecx
xor esi, esi
xor edi, edi
xor ecx, ecx
mov dword [esp + 0x74], ecx
mov ecx, ebp
jmp 0x59a06b
mov esi, dword [esp + 0x70]
mov esi, eax
mov edi, ebp
mov dword [esp + 0x74], ebx
mov eax, dword [esp + 0x70]
mov ebx, dword [esp + 0x84]
mov ebp, dword [esp + 0x88]
mov eax, edx
mov edx, ecx
mov ecx, eax
mov eax, dword [esp + 0x70]
test ecx, ecx
je 0x59ac53
mov dword [esp + 0x78], edx
mov dword [esp + 0x50], ecx
xchg esi, eax
mov byte [esp + 0x3b], al
xchg esi, eax
movzx ebx, byte [edx]
cmp bl, 0x2e
ja 0x59a3c4
cmp bl, 0x28
ja 0x59a228
cmp bl, 0x24
jne 0x59a0f6
movzx ebx, word [eax]
test bx, 0x10
je 0x59a0e7
mov dword [esp], eax
mov byte [esp + 4], 0xa
call fcn.005976a0
mov eax, dword [esp + 8]
movzx ecx, word [eax + 2]
or ecx, 0x100
mov word [eax + 2], cx
mov ecx, dword [esp + 0x50]
dec ecx
mov edx, ecx
neg ecx
sar ecx, 0x1f
and ecx, 1
mov ebx, dword [esp + 0x78]
add ecx, ebx
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x59a043
mov dword [esp], eax
mov byte [esp + 4], 8
call fcn.005976a0
jmp 0x59a0c4
cmp bl, 0x28
jne 0x59a1b6
movzx ebx, word [eax]
test bx, 0x40
je 0x59a117
cmp ecx, 2
jl 0x59a117
movzx ebx, byte [edx + 1]
cmp bl, 0x3f
je 0x59a162
mov ecx, dword [eax + 0x14]
inc ecx
mov dword [eax + 0x14], ecx
mov dword [esp], eax
mov byte [esp + 4], pe_nt_image_headers32
call fcn.005976a0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x70]
mov edx, dword [ecx + 0x14]
mov dword [eax + 0x30], edx
mov eax, dword [esp + 0x50]
lea edx, [eax - 1]
mov eax, edx
neg edx
sar edx, 0x1f
and edx, 1
mov ebx, dword [esp + 0x78]
add edx, ebx
mov ecx, edx
mov edx, eax
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x59a043
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0059b070
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
test ecx, ecx
jne 0x59a196
mov ecx, ebx
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x59a043
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], eax
add esp, 0x80
ret
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.0059ec40
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0xc]
test edx, edx
jne 0x59a208
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x58], ebp
mov ecx, dword [esp + 0x70]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00597650
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x3c]
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x59a043
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], edx
mov dword [esp + 0x98], ecx
add esp, 0x80
ret
cmp bl, 0x29
je 0x59a366
lea ebp, [ebx - 0x2a]
xchg ebp, eax
cmp al, 1
xchg ebp, eax
jbe 0x59a29c
cmp bl, 0x2e
jne 0x59a290
movzx ebx, word [eax]
test bx, 8
je 0x59a281
mov dword [esp], eax
mov byte [esp + 4], 6
call fcn.005976a0
mov esi, dword [esp + 0x50]
lea edx, [esi - 1]
mov esi, edx
neg edx
sar edx, 0x1f
and edx, 1
mov eax, esi
mov esi, dword [esp + 0x78]
lea ecx, [esi + edx]
mov edx, eax
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x59a043
mov dword [esp], eax
mov byte [esp + 4], 5
call fcn.005976a0
jmp 0x59a257
mov ebp, dword [esp + 0x88]
jmp 0x59a1b6
cmp bl, 0x2a
jne 0x59a341
mov ebx, 0xe
mov byte [esp + 0x3b], bl
mov dword [esp], eax
mov byte [esp + 4], bl
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
lea ebp, [ecx - 1]
mov esi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, 1
add ebp, edx
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], esi
mov ebp, dword [esp + 0x74]
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], edi
call fcn.00597750
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x28]
test ecx, ecx
jne 0x59a321
mov ecx, ebx
movzx eax, byte [esp + 0x3b]
mov ebx, dword [esp + 0x78]
mov ebp, dword [esp + 0x50]
jmp 0x59a043
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], eax
add esp, 0x80
ret
cmp bl, 0x2b
jne 0x59a350
mov ebx, 0xf
jmp 0x59a2aa
cmp bl, 0x3f
jne 0x59a35f
mov ebx, 0x10
jmp 0x59a2aa
mov ebx, esi
jmp 0x59a2aa
mov dword [esp], eax
call fcn.0059be50
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
test ecx, ecx
jne 0x59a3a4
mov esi, dword [esp + 0x50]
lea edx, [esi - 1]
mov esi, edx
neg edx
sar edx, 0x1f
and edx, 1
mov eax, esi
mov esi, dword [esp + 0x78]
lea ecx, [esi + edx]
mov edx, eax
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x59a043
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], eax
add esp, 0x80
ret
cmp bl, 0x5c
ja 0x59a9de
cmp bl, 0x3f
je 0x59a29c
cmp bl, 0x5b
je 0x59a98a
cmp bl, 0x5c
jne 0x59a1b6
movzx ebx, word [eax]
test bx, 0x40
je 0x59a41f
cmp ecx, 2
jl 0x59a41f
movzx ebx, byte [edx + 1]
cmp bl, 0x43
ja 0x59a7f3
cmp bl, 0x41
je 0x59a7bf
cmp bl, 0x42
je 0x59a78b
cmp bl, 0x43
je 0x59a6ff
mov edi, dword [eax + 0x10]
lea ebx, [eax + 0x10]
mov dword [esp + 0x7c], ebx
test edi, edi
je 0x59a6da
mov dword [esp + 0x68], edi
mov ebp, dword [0x7d95f0]
mov esi, dword [edi + 0x10]
test ebp, ebp
jne 0x59a6a8
mov dword [eax + 0x10], esi
mov ebp, eax
xor eax, eax
call fcn.0044b791
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x6c], ecx
mov byte [ecx], 4
movzx esi, word [ebp]
mov word [ecx + 2], si
mov esi, dword [esp + 0x50]
cmp esi, 2
jl 0x59a488
movzx edi, byte [edx + 1]
xchg edi, eax
cmp al, 0x70
xchg edi, eax
je 0x59a5d3
xchg edi, eax
cmp al, 0x50
xchg edi, eax
je 0x59a5d3
lea eax, [ecx + 0x20]
test byte [eax], al
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 2
call fcn.0059c7b0
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x1c]
test ecx, ecx
je 0x59a51a
mov dword [esp + 0x40], eax
mov dword [esp + 0x64], edx
mov esi, dword [esp + 0x6c]
mov dword [esi + 0x18], ebp
mov dword [esi + 0x1c], ebx
mov ebx, dword [0x7d95f0]
test ebx, ebx
jne 0x59a50e
mov dword [esi + 0x14], ecx
mov eax, dword [esp + 0x70]
mov dword [esp], eax
mov dword [esp + 4], esi
call fcn.00596fd0
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x40]
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x59a043
lea edi, [esi + 0x14]
mov eax, ecx
call fcn.0044b6a0
jmp 0x59a4e8
mov ecx, dword [0x7d95f0]
mov edx, dword [esp + 0x70]
mov eax, dword [edx + 0x10]
test ecx, ecx
jne 0x59a5b7
mov ecx, dword [esp + 0x6c]
mov dword [ecx + 0x10], eax
mov dword [edx + 0x10], ecx
mov dword [esp], edx
mov eax, dword [esp + 0x78]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 8], eax
call fcn.0059c080
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
test ebx, ebx
jne 0x59a597
mov dword [esp + 0x58], eax
mov dword [esp + 0x3c], ebp
mov eax, dword [esp + 0x70]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00597650
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x3c]
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x59a043
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], ebx
mov dword [esp + 0x98], edx
add esp, 0x80
ret
mov ecx, dword [esp + 0x6c]
lea edi, [ecx + 0x10]
call fcn.0044b6a0
mov edi, dword [esp + 0x7c]
mov eax, ecx
call fcn.0044b6a0
jmp 0x59a539
lea eax, [ecx + 0x20]
test byte [eax], al
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 2
call fcn.0059cd50
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
test ecx, ecx
jne 0x59a688
test edi, edi
je 0x59a673
mov dword [esp + 0x48], edx
mov dword [esp + 0x5c], ebx
mov ecx, dword [esp + 0x6c]
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x1c], ebp
mov ebp, dword [0x7d95f0]
test ebp, ebp
jne 0x59a665
mov dword [ecx + 0x14], edi
mov eax, dword [esp + 0x70]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00596fd0
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x48]
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x59a043
lea ebp, [ecx + 0x14]
mov eax, edi
mov edi, ebp
call fcn.0044b6a0
jmp 0x59a63f
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x78]
mov ebp, dword [esp + 0x70]
mov esi, dword [esp + 0x50]
jmp 0x59a488
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], eax
add esp, 0x80
ret
mov eax, edi
mov edi, ebx
mov ecx, eax
mov eax, esi
call fcn.0044b6a0
lea edx, [0x60ac60]
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.0040f0c0
xor eax, eax
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x70]
jmp 0x59a452
lea eax, [0x60ac60]
mov dword [esp], eax
call fcn.00409a10
mov ecx, dword [esp + 4]
xor eax, eax
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x70]
jmp 0x59a456
lea eax, [0x5f2740]
mov dword [esp], eax
call fcn.00409a10
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x17
mov eax, dword [0x7d95f0]
test eax, eax
jne 0x59a77e
lea ecx, [0x622e87]
mov dword [edi], ecx
mov dword [edi + 0xc], 2
mov ecx, dword [0x7d95f0]
test ecx, ecx
jne 0x59a768
mov eax, dword [esp + 0x78]
mov dword [edi + 8], eax
mov dword [esp + 0x90], 0
lea eax, [0x65eb60]
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], edi
add esp, 0x80
ret
lea ecx, [edi + 8]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0x78]
call fcn.0044b6a0
mov edi, edx
jmp 0x59a742
lea eax, [0x622e87]
call fcn.0044b6a0
jmp 0x59a72a
mov dword [esp], eax
mov byte [esp + 4], 0xc
call fcn.005976a0
mov eax, dword [esp + 0x50]
lea edx, [eax - 2]
mov eax, edx
neg edx
sar edx, 0x1f
and edx, 2
mov ecx, dword [esp + 0x78]
add ecx, edx
mov edx, eax
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x59a043
mov dword [esp], eax
mov byte [esp + 4], 9
call fcn.005976a0
mov eax, dword [esp + 0x50]
lea edx, [eax - 2]
mov eax, edx
neg edx
sar edx, 0x1f
and edx, 2
mov ecx, dword [esp + 0x78]
add ecx, edx
mov edx, eax
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x59a043
cmp bl, 0x51
je 0x59a86e
cmp bl, 0x62
je 0x59a83a
cmp bl, 0x7a
jne 0x59a41f
mov dword [esp], eax
mov byte [esp + 4], 0xa
call fcn.005976a0
mov eax, dword [esp + 0x50]
lea edx, [eax - 2]
mov eax, edx
neg edx
sar edx, 0x1f
and edx, 2
mov ecx, dword [esp + 0x78]
add ecx, edx
mov edx, eax
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x59a043
mov dword [esp], eax
mov byte [esp + 4], 0xb
call fcn.005976a0
mov eax, dword [esp + 0x50]
lea edx, [eax - 2]
mov eax, edx
neg edx
sar edx, 0x1f
and edx, 2
mov ecx, dword [esp + 0x78]
add ecx, edx
mov edx, eax
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x59a043
mov dword [esp], edx
mov dword [esp + 4], ecx
lea eax, [0x61d02e]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
call fcn.004a7ad0
mov eax, dword [esp + 0x10]
test eax, eax
jge 0x59a93f
mov ecx, dword [esp + 0x50]
add ecx, 0xfffffffe
mov edx, ecx
neg ecx
sar ecx, 0x1f
and ecx, 2
mov ebx, dword [esp + 0x78]
add ecx, ebx
xor eax, eax
xor ebx, ebx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x58], ebx
jmp 0x59a8e5
mov dword [esp + 0x44], edx
mov dword [esp + 0x60], ebx
mov eax, dword [esp + 0x70]
mov dword [esp], eax
mov dword [esp + 4], ebp
call fcn.00597650
mov eax, dword [esp + 0x3c]
mov ebx, dword [esp + 0x58]
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x60]
test edx, edx
je 0x59a92d
mov dword [esp], ecx
mov dword [esp + 4], edx
call fcn.0059ec40
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 8]
test eax, eax
je 0x59a8bd
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ecx
add esp, 0x80
ret
mov ecx, ebx
mov edx, eax
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x59a043
cmp eax, 2
jb 0x59ae2b
mov ecx, dword [esp + 0x50]
cmp eax, ecx
ja 0x59ae2b
lea edx, [eax - 2]
mov ebx, edx
neg edx
sar edx, 0x1f
and edx, 2
mov ebp, dword [esp + 0x78]
add edx, ebp
lea esi, [eax + 2]
cmp esi, ecx
ja 0x59ae24
sub ecx, esi
mov eax, ecx
neg ecx
sar ecx, 0x1f
and ecx, esi
add ebp, ecx
mov ecx, edx
mov edx, ebx
mov ebx, ebp
jmp 0x59a8b3
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0059d4d0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
test ecx, ecx
jne 0x59a9be
mov ecx, ebx
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x59a043
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], eax
add esp, 0x80
ret
cmp bl, 0x5e
jne 0x59aa33
movzx ebx, word [eax]
test bx, 0x10
je 0x59aa24
mov dword [esp], eax
mov byte [esp + 4], 9
call fcn.005976a0
mov esi, dword [esp + 0x50]
lea edx, [esi - 1]
mov esi, edx
neg edx
sar edx, 0x1f
and edx, 1
mov eax, esi
mov esi, dword [esp + 0x78]
lea ecx, [esi + edx]
mov edx, eax
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x59a043
mov dword [esp], eax
mov byte [esp + 4], 7
call fcn.005976a0
jmp 0x59a9fa
cmp bl, 0x7b
je 0x59aa9f
cmp bl, 0x7c
jne 0x59a1b6
mov dword [esp], eax
call fcn.0059b8a0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
test ecx, ecx
jne 0x59aa7f
mov esi, dword [esp + 0x50]
lea edx, [esi - 1]
mov esi, edx
neg edx
sar edx, 0x1f
and edx, 1
mov eax, esi
mov esi, dword [esp + 0x78]
lea ecx, [esi + edx]
mov edx, eax
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x59a043
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], eax
add esp, 0x80
ret
mov dword [esp + 0x4c], edi
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0059ae50
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
movzx edx, byte [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
test dl, dl
jne 0x59ab07
mov eax, dword [esp + 0x70]
mov dword [esp], eax
mov dword [esp + 4], 0x7b
call fcn.00597650
mov eax, dword [esp + 0x50]
lea edx, [eax - 1]
mov eax, edx
neg edx
sar edx, 0x1f
and edx, 1
mov ecx, dword [esp + 0x78]
add ecx, edx
mov edx, eax
mov eax, 0x11
xor ebx, ebx
xor ebp, ebp
jmp 0x59a043
cmp eax, 0x3e8
ja 0x59abb3
cmp ecx, 0x3e8
jg 0x59abb3
test ecx, ecx
jl 0x59ab2a
cmp eax, ecx
jg 0x59abb3
mov edx, dword [esp + 0x70]
mov dword [esp], edx
mov byte [esp + 4], 0x11
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0x78]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x74]
mov dword [esp + 0x20], ebx
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0x24], ebx
call fcn.00597750
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x28]
test ecx, ecx
jne 0x59ab93
mov ecx, ebx
mov eax, 0x11
mov ebx, dword [esp + 0x78]
mov ebp, dword [esp + 0x50]
jmp 0x59a043
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], eax
add esp, 0x80
ret
mov eax, dword [esp + 0x50]
mov ecx, eax
sub eax, ebx
cmp eax, ecx
ja 0x59ae32
mov dword [esp + 0x54], eax
lea eax, [0x5f2740]
mov dword [esp], eax
call fcn.00409a10
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x14
mov eax, dword [0x7d95f0]
test eax, eax
jne 0x59ac46
lea ecx, [0x621caa]
mov dword [edi], ecx
mov ecx, dword [esp + 0x54]
mov dword [edi + 0xc], ecx
mov ecx, dword [0x7d95f0]
test ecx, ecx
jne 0x59ac30
mov eax, dword [esp + 0x78]
mov dword [edi + 8], eax
mov dword [esp + 0x90], 0
lea eax, [0x65eb60]
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], edi
add esp, 0x80
ret
lea ecx, [edi + 8]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0x78]
call fcn.0044b6a0
mov edi, edx
jmp 0x59ac0a
lea eax, [0x621caa]
call fcn.0044b6a0
jmp 0x59abf2
mov dword [esp], eax
call fcn.00597d30
mov eax, dword [esp + 0x70]
mov dword [esp], eax
call fcn.0059bba0
movzx eax, byte [esp + 4]
test al, al
je 0x59ad60
mov eax, dword [esp + 0x70]
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 8]
dec edx
cmp edx, ecx
ja 0x59ae1d
mov dword [eax + 8], edx
mov dword [esp], eax
call fcn.00597ea0
mov eax, dword [esp + 0x70]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
cmp ecx, 1
je 0x59ad3a
lea eax, [0x5f2740]
mov dword [esp], eax
call fcn.00409a10
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x11
mov eax, dword [0x7d95f0]
test eax, eax
jne 0x59ad2d
lea ecx, [0x6208d7]
mov dword [edi], ecx
mov ecx, dword [esp + 0x88]
mov dword [edi + 0xc], ecx
mov ecx, dword [0x7d95f0]
test ecx, ecx
jne 0x59ad14
mov eax, dword [esp + 0x84]
mov dword [edi + 8], eax
mov dword [esp + 0x90], 0
lea eax, [0x65eb60]
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], edi
add esp, 0x80
ret
lea ecx, [edi + 8]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0x84]
call fcn.0044b6a0
mov edi, edx
jmp 0x59acee
lea eax, [0x6208d7]
call fcn.0044b6a0
jmp 0x59acd0
mov eax, dword [eax]
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
add esp, 0x80
ret
mov eax, dword [esp + 0x70]
jmp 0x59ac8a
lea edi, [eax + 0x18]
mov edx, eax
mov eax, dword [esp + 0x84]
call fcn.0044b6a0
mov eax, edx
mov edx, dword [esp + 0x84]
jmp 0x59a02d
mov eax, dword [esp + 0x84]
mov dword [esp], eax
mov ecx, dword [esp + 0x88]
mov dword [esp + 4], ecx
call fcn.0059eb30
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
test ecx, ecx
je 0x59adce
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], eax
add esp, 0x80
ret
mov eax, dword [esp + 0x84]
mov dword [esp], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 4], eax
movzx eax, word [esp + 0x8c]
mov word [esp + 8], ax
call fcn.00599e80
mov eax, dword [esp + 0xc]
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
add esp, 0x80
ret
call fcn.00425980
ud2
call fcn.00425980
ud2
call fcn.00425980
ud2
call fcn.00425980
ud2
call fcn.00449f40
jmp fcn.00599fc0