Function at 0x59fc00
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword [0x7c3e14]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x64]
cmp eax, dword [ecx + 8]
jbe 0x5a0aba
sub esp, 0xe4
mov edx, dword [esp + 0xe8]
mov ebx, dword [edx + 0xfc]
inc ebx
mov dword [esp + 0x44], ebx
mov ebp, dword [edx + 0x88]
mov dword [esp + 0x58], ebp
mov eax, dword [edx + 0x8c]
mov dword [esp + 0x54], eax
mov ecx, dword [edx + 0x84]
mov dword [esp + 0x80], ecx
mov esi, eax
mov edi, ebp
xor eax, eax
mov dword [esp + 0x38], eax
xor ebp, ebp
mov dword [esp + 0x34], ebp
xor ebp, ebp
mov dword [esp + 0x8c], ebp
xor esi, esi
xchg esi, eax
mov byte [esp + 0x21], al
xchg esi, eax
xor edi, edi
mov dword [esp + 0x84], edi
xor edi, edi
mov dword [esp + 0x28], edi
xor edi, edi
mov dword [esp + 0x24], edi
xor edi, edi
mov dword [esp + 0x90], edi
xor edi, edi
mov dword [esp + 0x3c], edi
xor edi, edi
mov dword [esp + 0x40], edi
xor edi, edi
mov dword [esp + 0x88], edi
xor edi, edi
mov dword [esp + 0x30], edi
xor edi, edi
mov dword [esp + 0x2c], edi
mov eax, dword [esp + 0x54]
mov ebp, dword [esp + 0x58]
mov esi, eax
mov edi, ebp
jmp 0x59fce1
mov eax, dword [esp + 0x4c]
mov esi, dword [esp + 0x48]
mov edi, dword [esp + 0x50]
mov ebx, ebp
mov esi, dword [esp + 0x54]
mov edi, dword [esp + 0x58]
mov eax, dword [esp + 0x50]
mov ebp, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x50], eax
mov dword [esp + 0x48], ebp
mov dword [esp + 0x4c], ecx
cmp dword [edx + 0x64], 4
jge 0x59fd2f
mov dword [esp], edx
mov dword [esp + 4], 4
call fcn.00592e90
movzx eax, byte [esp + 8]
test al, al
je 0x59fff9
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0xe8]
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0x48]
mov esi, dword [esp + 0x54]
mov edi, dword [esp + 0x58]
mov ebx, dword [edx + 0x8c]
test ebx, ebx
jne 0x59fe28
mov ebx, dword [edx + 0x58]
mov esi, dword [edx + 0x60]
cmp ebx, esi
jbe 0x5a0ab0
mov edi, dword [edx + 0x54]
movzx eax, byte [edi + esi]
cmp al, 0x2d
jne 0x59fd89
lea ecx, [esi + 1]
cmp ebx, ecx
jbe 0x5a0aa7
lea ecx, [edi + esi + 1]
cmp byte [ecx], 0x2d
jne 0x59fd85
lea ecx, [esi + 2]
cmp ebx, ecx
jbe 0x5a0a9e
lea ecx, [edi + esi + 2]
cmp byte [ecx], 0x2d
je 0x59fdba
mov ecx, dword [esp + 0x4c]
jmp 0x59fd89
mov ecx, dword [esp + 0x4c]
cmp al, 0x2e
jne 0x59fe18
lea eax, [esi + 1]
cmp ebx, eax
jbe 0x5a0a97
lea eax, [edi + esi + 1]
cmp byte [eax], 0x2e
jne 0x59fe08
lea eax, [esi + 2]
cmp ebx, eax
jbe 0x5a0a90
lea eax, [edi + esi + 2]
cmp byte [eax], 0x2e
jne 0x59fdf8
mov eax, dword [edx + 0x5c]
mov dword [esp], edi
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
lea eax, [esi + 3]
mov dword [esp + 0xc], eax
call fcn.005a5d40
movzx eax, byte [esp + 0x10]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0xe8]
mov ebp, dword [esp + 0x48]
mov esi, dword [esp + 0x54]
mov edi, dword [esp + 0x58]
mov ebx, eax
mov eax, dword [esp + 0x50]
jmp 0x59fe2a
mov eax, dword [esp + 0x50]
mov esi, dword [esp + 0x54]
mov edi, dword [esp + 0x58]
xor ebx, ebx
jmp 0x59fe2a
mov eax, dword [esp + 0x50]
mov esi, dword [esp + 0x54]
mov edi, dword [esp + 0x58]
xor ebx, ebx
jmp 0x59fe2a
mov eax, dword [esp + 0x50]
mov esi, dword [esp + 0x54]
mov edi, dword [esp + 0x58]
xor ebx, ebx
jmp 0x59fe2a
xor ebx, ebx
test bl, bl
jne 0x59fff3
mov ebx, dword [edx + 0x58]
mov esi, dword [edx + 0x60]
cmp ebx, esi
jbe 0x5a0a87
mov ebx, dword [edx + 0x54]
add ebx, esi
cmp byte [ebx], 0x23
je 0x59ffe9
mov ebx, dword [esp + 0x38]
mov esi, dword [esp + 0x8c]
jmp 0x5a00fb
mov edx, dword [esp + 0xe8]
mov ecx, dword [edx + 0x58]
mov eax, dword [edx + 0x60]
cmp eax, ecx
jae 0x5a0a6f
mov ebx, dword [edx + 0x54]
movzx ebp, byte [ebx + eax]
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
je 0x59ff45
xchg ebp, eax
cmp al, 9
xchg ebp, eax
je 0x59ff45
xchg ebp, eax
cmp al, 0xd
xchg ebp, eax
je 0x59ff45
xchg ebp, eax
cmp al, 0xa
xchg ebp, eax
je 0x59ff45
xchg ebp, eax
cmp al, 0xc2
xchg ebp, eax
jne 0x59fec5
lea esi, [eax + 1]
cmp ecx, esi
jbe 0x5a0a68
lea esi, [eax + ebx + 1]
cmp byte [esi], 0x85
je 0x59ff45
xchg ebp, eax
cmp al, 0xe2
xchg ebp, eax
jne 0x5a05e5
lea esi, [eax + 1]
cmp ecx, esi
jbe 0x5a0a61
lea edi, [eax + ebx + 1]
movzx edi, byte [edi]
xchg edi, eax
cmp al, 0x80
xchg edi, eax
jne 0x59ff0f
xchg edi, eax
mov byte [esp + 0x23], al
xchg edi, eax
lea edi, [eax + 2]
cmp ecx, edi
jbe 0x5a0a5a
lea edi, [eax + ebx + 2]
cmp byte [edi], 0xa8
je 0x59ff45
xchg ebp, eax
cmp al, 0xe2
xchg ebp, eax
movzx edi, byte [esp + 0x23]
jmp 0x59ff14
xchg ebp, eax
cmp al, 0xe2
xchg ebp, eax
jne 0x5a05e5
cmp ecx, esi
jbe 0x5a0a53
xchg edi, eax
cmp al, 0x80
xchg edi, eax
jne 0x5a05e5
lea ebp, [eax + 2]
cmp ecx, ebp
jbe 0x5a0a4c
lea ebx, [eax + ebx + 2]
cmp byte [ebx], 0xa9
jne 0x5a05e5
mov ebx, dword [edx + 0x64]
test ebx, ebx
jg 0x59ff70
mov dword [esp], edx
mov dword [esp + 4], 1
call fcn.00592e90
movzx eax, byte [esp + 8]
test al, al
je 0x5a05d6
mov edx, dword [esp + 0xe8]
mov ebx, dword [esp + 0x88]
mov ebp, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x90]
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x40]
jmp 0x5a0616
mov ecx, dword [esp + 0x90]
mov ebx, dword [esp + 0x88]
jmp 0x59ffc1
mov ecx, dword [esp + 0x90]
mov ebx, dword [esp + 0x88]
jmp 0x59ffc1
mov ecx, dword [esp + 0x90]
mov ebx, dword [esp + 0x88]
mov ebp, dword [edx + 0xe0]
test ebp, ebp
jne 0x59ffe0
mov ebp, dword [esp + 0x44]
cmp dword [edx + 0x8c], ebp
jge 0x59fcbf
jmp 0x5a094a
mov ebp, dword [esp + 0x44]
jmp 0x59fcbf
mov esi, dword [esp + 0x54]
mov ebx, dword [esp + 0x38]
jmp 0x5a0008
mov ebx, dword [esp + 0x38]
jmp 0x5a0008
mov byte [esp + 0xf0], 0
add esp, 0xe4
ret
mov dword [esp + 0x4c], ecx
lea edi, [esp + 0x9c]
lea esi, [0x65a888]
call fcn.00468a6c
mov ecx, dword [esp + 0x80]
mov dword [esp + 0xa0], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0xa4], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0xa8], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], ebp
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], ebx
mov edi, dword [esp + 0xec]
test byte [edi], al
mov eax, dword [0x7c3fa0]
test eax, eax
je 0x5a00b9
lea eax, [0x5fbee0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x9c]
mov dword [esp + 8], eax
call fcn.00411660
mov edx, dword [esp + 0xe8]
mov edi, dword [esp + 0xec]
lea esi, [esp + 0x9c]
call fcn.00468a6c
movzx eax, byte [esp + 0x21]
test al, al
je 0x5a00d5
mov byte [edx + 0x10c], 1
mov byte [esp + 0xf0], 1
add esp, 0xe4
ret
mov ebx, edx
mov dword [esp + 0x34], ecx
mov ecx, ebp
mov edx, dword [esp + 0xe8]
mov ebp, edi
mov edi, esi
mov esi, eax
mov eax, edi
mov dword [esp + 0x38], ebx
mov dword [esp + 0x8c], esi
mov dword [esp + 0x50], eax
mov dword [esp + 0x48], ebp
mov dword [esp + 0x4c], ecx
mov edi, dword [edx + 0x54]
mov eax, dword [edx + 0x58]
mov ecx, dword [edx + 0x5c]
mov ebp, dword [edx + 0x60]
mov dword [esp], edi
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
call fcn.005a5d40
movzx eax, byte [esp + 0x10]
test al, al
jne 0x59fe5e
mov edx, dword [esp + 0xe8]
mov ecx, dword [edx + 0x58]
mov eax, dword [edx + 0x60]
cmp ecx, eax
jbe 0x5a0a82
mov ebx, dword [edx + 0x54]
lea ebp, [ebx + eax]
cmp byte [ebp], 0x3a
je 0x5a0164
xor eax, eax
jmp 0x5a0188
mov ebp, dword [edx + 0x5c]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
inc eax
mov dword [esp + 0xc], eax
call fcn.005a5d40
movzx eax, byte [esp + 0x10]
mov edx, dword [esp + 0xe8]
test al, al
jne 0x59fe65
mov ebx, dword [edx + 0xe0]
test ebx, ebx
jle 0x5a01e5
mov ecx, dword [edx + 0x58]
mov eax, dword [edx + 0x60]
cmp ecx, eax
jbe 0x5a0a7d
mov ebx, dword [edx + 0x54]
movzx ebx, byte [ebx + eax]
cmp bl, 0x2c
je 0x59fe65
cmp bl, 0x3f
je 0x59fe65
cmp bl, 0x5b
je 0x59fe65
cmp bl, 0x5d
je 0x59fe65
cmp bl, 0x7b
je 0x59fe65
cmp bl, 0x7d
je 0x59fe65
movzx ebx, byte [esp + 0x21]
test bl, bl
je 0x5a01f4
mov ebp, dword [esp + 0x24]
jmp 0x5a0208
mov ebp, dword [esp + 0x24]
test ebp, ebp
je 0x5a050b
test bl, bl
je 0x5a0467
mov ebx, dword [esp + 0x3c]
test ebx, ebx
jbe 0x5a0a74
mov eax, dword [esp + 0x90]
cmp byte [eax], 0xa
jne 0x5a0335
mov ecx, dword [esp + 0x2c]
test ecx, ecx
jne 0x5a0293
mov ecx, dword [esp + 0x34]
inc ecx
mov ebx, dword [esp + 0x38]
cmp ebx, ecx
jb 0x5a0242
mov esi, dword [esp + 0x8c]
jmp 0x5a0289
mov eax, dword [esp + 0x8c]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x5ddd80]
mov dword [esp + 0x10], eax
call fcn.0044db70
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x90]
mov edx, dword [esp + 0xe8]
mov ebp, dword [esp + 0x24]
mov byte [ecx + esi - 1], 0x20
jmp 0x5a0452
mov ebx, dword [esp + 0x34]
lea esi, [ecx + ebx]
mov edi, dword [esp + 0x38]
cmp edi, esi
jae 0x5a02e6
mov eax, dword [esp + 0x8c]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edi
mov dword [esp + 0xc], ecx
lea eax, [0x5ddd80]
mov dword [esp + 0x10], eax
call fcn.0044db70
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x8c], esi
mov edi, ebx
mov esi, eax
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x38], edi
mov dword [esp + 0x34], esi
mov eax, dword [esp + 0x8c]
lea edx, [eax + ebx]
mov dword [esp], edx
mov edx, dword [esp + 0x88]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00468d00
mov eax, dword [esp + 0x90]
mov edx, dword [esp + 0xe8]
mov ebp, dword [esp + 0x24]
mov ebx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov esi, dword [esp + 0x8c]
jmp 0x5a0452
mov ecx, dword [esp + 0x34]
lea esi, [ebx + ecx]
mov edi, dword [esp + 0x38]
cmp edi, esi
jae 0x5a038f
mov eax, dword [esp + 0x8c]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebx
lea eax, [0x5ddd80]
mov dword [esp + 0x10], eax
call fcn.0044db70
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x34]
mov edi, ebx
mov dword [esp + 0x8c], esi
mov esi, eax
mov eax, dword [esp + 0x90]
mov ebx, dword [esp + 0x3c]
mov dword [esp + 0x38], edi
mov dword [esp + 0x34], esi
mov edx, dword [esp + 0x8c]
add ecx, edx
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.00468d00
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x2c]
lea edx, [ecx + eax]
mov ebx, dword [esp + 0x38]
cmp ebx, edx
jb 0x5a03cc
mov ebp, dword [esp + 0x8c]
jmp 0x5a0409
mov eax, dword [esp + 0x8c]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
lea eax, [0x5ddd80]
mov dword [esp + 0x10], eax
call fcn.0044db70
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2c]
mov ebp, eax
mov ebx, edi
mov eax, dword [esp + 0x34]
mov dword [esp + 0x38], ebx
mov dword [esp + 0x34], edx
mov dword [esp + 0x8c], ebp
add eax, ebp
mov dword [esp], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00468d00
mov eax, dword [esp + 0x90]
mov edx, dword [esp + 0xe8]
mov ebp, dword [esp + 0x24]
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x38]
mov esi, dword [esp + 0x8c]
xor edi, edi
xor edi, edi
mov dword [esp + 0x3c], edi
xor edi, edi
mov dword [esp + 0x2c], edi
xor edi, edi
jmp 0x5a051f
mov eax, dword [esp + 0x34]
lea ecx, [ebp + eax]
mov esi, dword [esp + 0x38]
cmp esi, ecx
jb 0x5a0480
mov edi, dword [esp + 0x8c]
jmp 0x5a04bd
mov eax, dword [esp + 0x8c]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebp
lea eax, [0x5ddd80]
mov dword [esp + 0x10], eax
call fcn.0044db70
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x34]
mov ebp, dword [esp + 0x24]
mov edi, esi
mov esi, ebx
mov dword [esp + 0x38], esi
mov dword [esp + 0x34], ecx
mov dword [esp + 0x8c], edi
add eax, edi
mov dword [esp], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.00468d00
mov eax, dword [esp + 0x90]
mov edx, dword [esp + 0xe8]
mov ebx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov esi, dword [esp + 0x8c]
movzx edi, byte [esp + 0x21]
xor ebp, ebp
jmp 0x5a051f
mov ebx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov esi, dword [esp + 0x8c]
movzx edi, byte [esp + 0x21]
mov dword [esp + 0x24], ebp
xchg edi, eax
mov byte [esp + 0x21], al
xchg edi, eax
mov dword [esp], edx
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
call fcn.00595ed0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xe8]
mov ebp, dword [ebx + 0x84]
mov esi, dword [ebx + 0x8c]
mov edi, dword [ebx + 0x88]
cmp dword [ebx + 0x64], 2
jge 0x5a00e4
mov dword [esp + 0x7c], edx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x98], eax
mov dword [esp + 0x74], ebp
mov dword [esp + 0x70], esi
mov dword [esp + 0x6c], edi
mov dword [esp], ebx
mov dword [esp + 4], 2
call fcn.00592e90
movzx eax, byte [esp + 8]
test al, al
je 0x5a05c7
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0xe8]
mov ebp, dword [esp + 0x74]
mov esi, dword [esp + 0x70]
mov edi, dword [esp + 0x6c]
jmp 0x5a00e4
mov byte [esp + 0xf0], 0
add esp, 0xe4
ret
mov byte [esp + 0xf0], 0
add esp, 0xe4
ret
mov esi, dword [esp + 0x54]
mov edi, dword [esp + 0x58]
mov eax, dword [esp + 0x50]
mov ebp, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x38]
jmp 0x5a0008
mov edx, dword [esp + 0xe8]
mov byte [esp + 0x21], al
mov eax, ebx
mov ebx, dword [esp + 0x88]
mov dword [esp + 0x40], edi
mov dword [esp + 0x30], ebp
mov ebp, dword [edx + 0x58]
mov edi, dword [edx + 0x60]
cmp ebp, edi
jbe 0x5a0a43
mov dword [esp + 0x3c], esi
mov dword [esp + 0x90], ecx
mov dword [esp + 0x88], ebx
mov dword [esp + 0x2c], eax
mov eax, dword [edx + 0x54]
movzx esi, byte [eax + edi]
xchg esi, eax
cmp al, 0x20
xchg esi, eax
je 0x5a0766
xchg esi, eax
cmp al, 9
xchg esi, eax
je 0x5a0761
xchg esi, eax
cmp al, 0xd
xchg esi, eax
je 0x5a075a
xchg esi, eax
cmp al, 0xa
xchg esi, eax
je 0x5a0753
xchg esi, eax
cmp al, 0xc2
xchg esi, eax
jne 0x5a06aa
lea ecx, [edi + 1]
cmp ebp, ecx
jbe 0x5a0a3a
lea ecx, [eax + edi + 1]
cmp byte [ecx], 0x85
je 0x5a0699
mov ecx, dword [esp + 0x90]
jmp 0x5a06aa
xchg esi, eax
cmp al, 0x20
xchg esi, eax
mov ecx, dword [esp + 0x90]
jmp 0x5a0766
xchg esi, eax
cmp al, 0xe2
xchg esi, eax
jne 0x59ffc1
lea ecx, [edi + 1]
cmp ebp, ecx
jbe 0x5a0a31
lea ebx, [eax + edi + 1]
movzx ebx, byte [ebx]
cmp bl, 0x80
jne 0x5a070a
lea edx, [edi + 2]
cmp ebp, edx
jbe 0x5a0a28
lea edx, [eax + edi + 2]
cmp byte [edx], 0xa8
je 0x5a06ee
xchg esi, eax
cmp al, 0xe2
xchg esi, eax
mov edx, dword [esp + 0xe8]
jmp 0x5a070f
xchg esi, eax
cmp al, 0x20
xchg esi, eax
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0xe8]
mov ebx, dword [esp + 0x88]
jmp 0x5a0766
xchg esi, eax
cmp al, 0xe2
xchg esi, eax
jne 0x59ffb3
cmp ebp, ecx
jbe 0x5a0a1f
cmp bl, 0x80
jne 0x59ffa3
lea ebx, [edi + 2]
cmp ebp, ebx
jbe 0x5a0a16
lea ebx, [eax + edi + 2]
cmp byte [ebx], 0xa9
jne 0x59ff93
xchg esi, eax
cmp al, 0x20
xchg esi, eax
mov ecx, dword [esp + 0x90]
mov ebx, dword [esp + 0x88]
jmp 0x5a0766
xchg esi, eax
cmp al, 0x20
xchg esi, eax
jmp 0x5a0766
xchg esi, eax
cmp al, 0x20
xchg esi, eax
jmp 0x5a0766
xchg esi, eax
cmp al, 0x20
xchg esi, eax
je 0x5a0773
xchg esi, eax
cmp al, 9
xchg esi, eax
jne 0x5a0811
movzx eax, byte [esp + 0x21]
test al, al
je 0x5a07b4
mov ebp, dword [esp + 0x44]
cmp dword [edx + 0x8c], ebp
jge 0x5a0797
xchg esi, eax
cmp al, 9
xchg esi, eax
je 0x5a0967
test al, al
jmp 0x5a0799
test al, al
je 0x5a07b4
mov dword [esp], edx
call fcn.00595c30
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x84]
jmp 0x5a07e3
mov dword [esp], edx
mov eax, dword [esp + 0x84]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0xc], eax
call fcn.00595ed0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x28], edx
mov edx, ecx
mov dword [esp + 0x84], eax
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x40]
mov ecx, dword [esp + 0x90]
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x30]
movzx eax, byte [esp + 0x21]
jmp 0x5a08d4
cmp dword [edx + 0x64], 2
jge 0x5a0849
mov dword [esp], edx
mov dword [esp + 4], 2
call fcn.00592e90
movzx eax, byte [esp + 8]
test al, al
je 0x5a0a07
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0xe8]
mov ebx, dword [esp + 0x88]
movzx eax, byte [esp + 0x21]
test al, al
je 0x5a089d
mov dword [esp], edx
mov dword [esp + 4], ebx
mov eax, dword [esp + 0x2c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0xc], eax
call fcn.00596130
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x24]
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x40]
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x88], ebx
mov ebx, eax
movzx eax, byte [esp + 0x21]
jmp 0x5a08d4
mov dword [esp], edx
mov dword [esp + 4], ecx
mov eax, dword [esp + 0x3c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0xc], eax
call fcn.00596130
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov eax, 1
xor edx, edx
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x30]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0xe8]
mov edx, dword [edx + 0x64]
test edx, edx
jg 0x5a0602
mov dword [esp + 0x68], ebx
mov dword [esp + 0x64], ebp
mov dword [esp + 0x94], ecx
mov dword [esp + 0x60], esi
mov dword [esp + 0x5c], edi
mov byte [esp + 0x22], al
mov eax, dword [esp + 0xe8]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00592e90
movzx eax, byte [esp + 8]
test al, al
je 0x5a09f8
movzx eax, byte [esp + 0x22]
mov ecx, dword [esp + 0x94]
mov ebx, dword [esp + 0x68]
mov ebp, dword [esp + 0x64]
mov esi, dword [esp + 0x60]
mov edi, dword [esp + 0x5c]
jmp 0x5a0602
mov esi, dword [esp + 0x54]
mov edi, dword [esp + 0x58]
mov eax, dword [esp + 0x50]
mov ebp, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x38]
jmp 0x5a0008
nop
mov dword [edx], 3
mov dword [edx + 0x24], 0x1d
mov eax, dword [0x7c3fa0]
test eax, eax
je 0x5a0989
mov eax, dword [edx + 0x20]
call fcn.00468400
mov dword [edi], eax
lea eax, [0x6148b9]
mov dword [edx + 0x20], eax
mov eax, dword [esp + 0x80]
mov dword [edx + 0x28], eax
mov eax, dword [esp + 0x58]
mov dword [edx + 0x2c], eax
mov eax, dword [esp + 0x54]
mov dword [edx + 0x30], eax
mov dword [edx + 8], 0x2f
mov eax, dword [0x7c3fa0]
test eax, eax
je 0x5a09c5
mov eax, dword [edx + 4]
call fcn.00468400
mov dword [edi], eax
lea eax, [0x61a16d]
mov dword [edx + 4], eax
mov eax, dword [edx + 0x88]
mov ecx, dword [edx + 0x8c]
mov ebx, dword [edx + 0x84]
mov dword [edx + 0x14], ebx
mov dword [edx + 0x18], eax
mov dword [edx + 0x1c], ecx
mov byte [esp + 0xf0], 0
add esp, 0xe4
ret
mov byte [esp + 0xf0], 0
add esp, 0xe4
ret
mov byte [esp + 0xf0], 0
add esp, 0xe4
ret
mov eax, ebx
mov ecx, ebp
call fcn.00468460
mov eax, ecx
mov ecx, ebp
call fcn.00468460
mov eax, edx
mov ecx, ebp
call fcn.00468460
mov eax, ecx
mov ecx, ebp
call fcn.00468460
mov eax, ecx
mov ecx, ebp
call fcn.00468460
mov eax, edi
mov ecx, ebp
call fcn.00468460
mov eax, ebp
call fcn.00468460
mov eax, esi
call fcn.00468460
mov eax, edi
call fcn.00468460
mov eax, esi
call fcn.00468460
mov eax, esi
call fcn.00468460
call fcn.00468460
xor eax, eax
mov ecx, eax
call fcn.00468460
call fcn.00468460
call fcn.00468460
mov eax, esi
mov ecx, ebx
call fcn.00468460
mov ecx, ebx
call fcn.00468460
mov ecx, ebx
call fcn.00468460
mov eax, ecx
mov ecx, ebx
call fcn.00468460
mov eax, ecx
mov ecx, ebx
call fcn.00468460
mov eax, esi
mov ecx, ebx
call fcn.00468460
nop
call fcn.00467000
jmp fcn.0059fc00