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

Disassembly:
mov ecx, dword [0x7da588]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x64]
cmp eax, dword [ecx + 8]
jbe 0x5a73fa
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 + 0x24], edi
xor edi, edi
mov dword [esp + 0x28], edi
xor edi, edi
mov dword [esp + 0x90], edi
xor edi, edi
mov dword [esp + 0x40], edi
xor edi, edi
mov dword [esp + 0x3c], 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 0x5a6621
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 0x5a666f
mov dword [esp], edx
mov dword [esp + 4], 4
call fcn.005997f0
movzx eax, byte [esp + 8]
test al, al
je 0x5a6939
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 0x5a6768
mov ebx, dword [edx + 0x58]
mov esi, dword [edx + 0x60]
cmp ebx, esi
jbe 0x5a73f0
mov edi, dword [edx + 0x54]
movzx eax, byte [edi + esi]
cmp al, 0x2d
jne 0x5a66c9
lea ecx, [esi + 1]
cmp ebx, ecx
jbe 0x5a73e7
lea ecx, [edi + esi + 1]
cmp byte [ecx], 0x2d
jne 0x5a66c5
lea ecx, [esi + 2]
cmp ebx, ecx
jbe 0x5a73de
lea ecx, [edi + esi + 2]
cmp byte [ecx], 0x2d
je 0x5a66fa
mov ecx, dword [esp + 0x4c]
jmp 0x5a66c9
mov ecx, dword [esp + 0x4c]
cmp al, 0x2e
jne 0x5a6758
lea eax, [esi + 1]
cmp ebx, eax
jbe 0x5a73d7
lea eax, [edi + esi + 1]
cmp byte [eax], 0x2e
jne 0x5a6748
lea eax, [esi + 2]
cmp ebx, eax
jbe 0x5a73d0
lea eax, [edi + esi + 2]
cmp byte [eax], 0x2e
jne 0x5a6738
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.005ac8d0
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 0x5a676a
mov eax, dword [esp + 0x50]
mov esi, dword [esp + 0x54]
mov edi, dword [esp + 0x58]
xor ebx, ebx
jmp 0x5a676a
mov eax, dword [esp + 0x50]
mov esi, dword [esp + 0x54]
mov edi, dword [esp + 0x58]
xor ebx, ebx
jmp 0x5a676a
mov eax, dword [esp + 0x50]
mov esi, dword [esp + 0x54]
mov edi, dword [esp + 0x58]
xor ebx, ebx
jmp 0x5a676a
xor ebx, ebx
test bl, bl
jne 0x5a6933
mov ebx, dword [edx + 0x58]
mov esi, dword [edx + 0x60]
cmp ebx, esi
jbe 0x5a73c7
mov ebx, dword [edx + 0x54]
add ebx, esi
cmp byte [ebx], 0x23
je 0x5a6929
mov ebx, dword [esp + 0x38]
mov esi, dword [esp + 0x8c]
jmp 0x5a6a3b
mov edx, dword [esp + 0xe8]
mov ecx, dword [edx + 0x58]
mov eax, dword [edx + 0x60]
cmp ecx, eax
jbe 0x5a73af
mov ebx, dword [edx + 0x54]
movzx ebp, byte [ebx + eax]
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
je 0x5a6885
xchg ebp, eax
cmp al, 9
xchg ebp, eax
je 0x5a6885
xchg ebp, eax
cmp al, 0xd
xchg ebp, eax
je 0x5a6885
xchg ebp, eax
cmp al, 0xa
xchg ebp, eax
je 0x5a6885
xchg ebp, eax
cmp al, 0xc2
xchg ebp, eax
jne 0x5a6805
lea esi, [eax + 1]
cmp ecx, esi
jbe 0x5a73a8
lea esi, [ebx + eax + 1]
cmp byte [esi], 0x85
je 0x5a6885
xchg ebp, eax
cmp al, 0xe2
xchg ebp, eax
jne 0x5a6f25
lea esi, [eax + 1]
cmp ecx, esi
jbe 0x5a73a1
lea edi, [ebx + eax + 1]
movzx edi, byte [edi]
xchg edi, eax
cmp al, 0x80
xchg edi, eax
jne 0x5a684f
xchg edi, eax
mov byte [esp + 0x23], al
xchg edi, eax
lea edi, [eax + 2]
cmp ecx, edi
jbe 0x5a739a
lea edi, [ebx + eax + 2]
cmp byte [edi], 0xa8
je 0x5a6885
xchg ebp, eax
cmp al, 0xe2
xchg ebp, eax
movzx edi, byte [esp + 0x23]
jmp 0x5a6854
xchg ebp, eax
cmp al, 0xe2
xchg ebp, eax
jne 0x5a6f25
cmp ecx, esi
jbe 0x5a7393
xchg edi, eax
cmp al, 0x80
xchg edi, eax
jne 0x5a6f25
lea ebp, [eax + 2]
cmp ecx, ebp
jbe 0x5a738c
lea ebx, [ebx + eax + 2]
cmp byte [ebx], 0xa9
jne 0x5a6f25
mov ebx, dword [edx + 0x64]
test ebx, ebx
jg 0x5a68b0
mov dword [esp], edx
mov dword [esp + 4], 1
call fcn.005997f0
movzx eax, byte [esp + 8]
test al, al
je 0x5a6f16
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 + 0x40]
mov edi, dword [esp + 0x3c]
jmp 0x5a6f56
mov ecx, dword [esp + 0x90]
mov ebx, dword [esp + 0x88]
jmp 0x5a6901
mov ecx, dword [esp + 0x90]
mov ebx, dword [esp + 0x88]
jmp 0x5a6901
mov ecx, dword [esp + 0x90]
mov ebx, dword [esp + 0x88]
mov ebp, dword [edx + 0xe0]
test ebp, ebp
jne 0x5a6920
mov ebp, dword [esp + 0x44]
cmp dword [edx + 0x8c], ebp
jge 0x5a65ff
jmp 0x5a728a
mov ebp, dword [esp + 0x44]
jmp 0x5a65ff
mov esi, dword [esp + 0x54]
mov ebx, dword [esp + 0x38]
jmp 0x5a6948
mov ebx, dword [esp + 0x38]
jmp 0x5a6948
mov byte [esp + 0xf0], 0
add esp, 0xe4
ret
mov dword [esp + 0x4c], ecx
lea edi, [esp + 0x94]
lea esi, [0x659988]
call fcn.0046c4ec
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x98], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x9c], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0xa0], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa8], ebp
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], ebx
mov edi, dword [esp + 0xec]
test byte [edi], al
mov eax, dword [0x7da640]
test eax, eax
je 0x5a69f9
lea eax, [0x5fb200]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x94]
mov dword [esp + 8], eax
call fcn.00412350
mov edx, dword [esp + 0xe8]
mov edi, dword [esp + 0xec]
lea esi, [esp + 0x94]
call fcn.0046c4ec
movzx eax, byte [esp + 0x21]
test al, al
je 0x5a6a15
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.005ac8d0
movzx eax, byte [esp + 0x10]
test al, al
jne 0x5a679e
mov edx, dword [esp + 0xe8]
mov ecx, dword [edx + 0x58]
mov eax, dword [edx + 0x60]
cmp ecx, eax
jbe 0x5a73c2
mov ebx, dword [edx + 0x54]
lea ebp, [ebx + eax]
cmp byte [ebp], 0x3a
je 0x5a6aa4
xor eax, eax
jmp 0x5a6ac8
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.005ac8d0
movzx eax, byte [esp + 0x10]
mov edx, dword [esp + 0xe8]
test al, al
jne 0x5a67a5
mov ebx, dword [edx + 0xe0]
test ebx, ebx
jle 0x5a6b25
mov ecx, dword [edx + 0x58]
mov eax, dword [edx + 0x60]
cmp ecx, eax
jbe 0x5a73bd
mov ebx, dword [edx + 0x54]
movzx ebx, byte [ebx + eax]
cmp bl, 0x2c
je 0x5a67a5
cmp bl, 0x3f
je 0x5a67a5
cmp bl, 0x5b
je 0x5a67a5
cmp bl, 0x5d
je 0x5a67a5
cmp bl, 0x7b
je 0x5a67a5
cmp bl, 0x7d
je 0x5a67a5
movzx ebx, byte [esp + 0x21]
test bl, bl
je 0x5a6b34
mov ebp, dword [esp + 0x24]
jmp 0x5a6b48
mov ebp, dword [esp + 0x24]
test ebp, ebp
je 0x5a6e4b
test bl, bl
je 0x5a6da7
mov ebx, dword [esp + 0x3c]
test ebx, ebx
jbe 0x5a73b4
mov eax, dword [esp + 0x90]
cmp byte [eax], 0xa
jne 0x5a6c75
mov ecx, dword [esp + 0x2c]
test ecx, ecx
jne 0x5a6bd3
mov ecx, dword [esp + 0x34]
inc ecx
mov ebx, dword [esp + 0x38]
cmp ebx, ecx
jb 0x5a6b82
mov esi, dword [esp + 0x8c]
jmp 0x5a6bc9
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, [0x5dd460]
mov dword [esp + 0x10], eax
call fcn.00450060
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 0x5a6d92
mov ebx, dword [esp + 0x34]
lea esi, [ebx + ecx]
mov edi, dword [esp + 0x38]
cmp edi, esi
jae 0x5a6c26
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, [0x5dd460]
mov dword [esp + 0x10], eax
call fcn.00450060
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.0046c780
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]
jmp 0x5a6d92
mov ecx, dword [esp + 0x34]
lea esi, [ecx + ebx]
mov edi, dword [esp + 0x38]
cmp edi, esi
jae 0x5a6ccf
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, [0x5dd460]
mov dword [esp + 0x10], eax
call fcn.00450060
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 + 0x34], esi
mov dword [esp + 0x38], edi
mov edx, dword [esp + 0x8c]
add ecx, edx
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.0046c780
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x2c]
lea edx, [ecx + eax]
mov ebx, dword [esp + 0x38]
cmp ebx, edx
jb 0x5a6d0c
mov ebp, dword [esp + 0x8c]
jmp 0x5a6d49
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, [0x5dd460]
mov dword [esp + 0x10], eax
call fcn.00450060
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 + 0x8c], ebp
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], ebx
add eax, ebp
mov dword [esp], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0046c780
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 0x5a6e5f
mov eax, dword [esp + 0x34]
lea ecx, [ebp + eax]
mov esi, dword [esp + 0x38]
cmp esi, ecx
jb 0x5a6dc0
mov edi, dword [esp + 0x8c]
jmp 0x5a6dfd
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, [0x5dd460]
mov dword [esp + 0x10], eax
call fcn.00450060
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 + 0x34], ecx
mov dword [esp + 0x8c], edi
mov dword [esp + 0x38], esi
add eax, edi
mov dword [esp], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.0046c780
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 0x5a6e5f
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x38]
mov esi, dword [esp + 0x8c]
movzx edi, byte [esp + 0x21]
xchg edi, eax
mov byte [esp + 0x21], al
xchg edi, eax
mov dword [esp + 0x24], ebp
mov dword [esp], edx
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
call fcn.0059c860
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 0x5a6a24
mov dword [esp + 0x7c], edx
mov dword [esp + 0xe0], eax
mov dword [esp + 0x78], ecx
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.005997f0
movzx eax, byte [esp + 8]
test al, al
je 0x5a6f07
mov eax, dword [esp + 0xe0]
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 0x5a6a24
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 0x5a6948
mov edx, dword [esp + 0xe8]
mov byte [esp + 0x21], al
mov eax, ebx
mov ebx, dword [esp + 0x88]
mov dword [esp + 0x30], ebp
mov dword [esp + 0x40], esi
mov ebp, dword [edx + 0x58]
mov esi, dword [edx + 0x60]
cmp ebp, esi
jbe 0x5a7383
mov dword [esp + 0x88], ebx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x90], ecx
mov dword [esp + 0x3c], edi
mov eax, dword [edx + 0x54]
movzx edi, byte [eax + esi]
xchg edi, eax
cmp al, 0x20
xchg edi, eax
je 0x5a70a6
xchg edi, eax
cmp al, 9
xchg edi, eax
je 0x5a70a1
xchg edi, eax
cmp al, 0xd
xchg edi, eax
je 0x5a709a
xchg edi, eax
cmp al, 0xa
xchg edi, eax
je 0x5a7093
xchg edi, eax
cmp al, 0xc2
xchg edi, eax
jne 0x5a6fea
lea ecx, [esi + 1]
cmp ebp, ecx
jbe 0x5a737a
lea ecx, [eax + esi + 1]
cmp byte [ecx], 0x85
je 0x5a6fd9
mov ecx, dword [esp + 0x90]
jmp 0x5a6fea
xchg edi, eax
cmp al, 0x20
xchg edi, eax
mov ecx, dword [esp + 0x90]
jmp 0x5a70a6
xchg edi, eax
cmp al, 0xe2
xchg edi, eax
jne 0x5a6901
lea ecx, [esi + 1]
cmp ebp, ecx
jbe 0x5a7371
lea ebx, [eax + esi + 1]
movzx ebx, byte [ebx]
cmp bl, 0x80
jne 0x5a704a
lea edx, [esi + 2]
cmp ebp, edx
jbe 0x5a7368
lea edx, [eax + esi + 2]
cmp byte [edx], 0xa8
je 0x5a702e
xchg edi, eax
cmp al, 0xe2
xchg edi, eax
mov edx, dword [esp + 0xe8]
jmp 0x5a704f
xchg edi, eax
cmp al, 0x20
xchg edi, eax
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0xe8]
mov ebx, dword [esp + 0x88]
jmp 0x5a70a6
xchg edi, eax
cmp al, 0xe2
xchg edi, eax
jne 0x5a68f3
cmp ebp, ecx
jbe 0x5a735f
cmp bl, 0x80
jne 0x5a68e3
lea ebx, [esi + 2]
cmp ebp, ebx
jbe 0x5a7356
lea ebx, [eax + esi + 2]
cmp byte [ebx], 0xa9
jne 0x5a68d3
xchg edi, eax
cmp al, 0x20
xchg edi, eax
mov ecx, dword [esp + 0x90]
mov ebx, dword [esp + 0x88]
jmp 0x5a70a6
xchg edi, eax
cmp al, 0x20
xchg edi, eax
jmp 0x5a70a6
xchg edi, eax
cmp al, 0x20
xchg edi, eax
jmp 0x5a70a6
xchg edi, eax
cmp al, 0x20
xchg edi, eax
je 0x5a70b3
xchg edi, eax
cmp al, 9
xchg edi, eax
jne 0x5a7151
movzx eax, byte [esp + 0x21]
test al, al
je 0x5a70f4
mov ebp, dword [esp + 0x44]
cmp dword [edx + 0x8c], ebp
jge 0x5a70d7
xchg edi, eax
cmp al, 9
xchg edi, eax
je 0x5a72a7
test al, al
jmp 0x5a70d9
test al, al
je 0x5a70f4
mov dword [esp], edx
call fcn.0059c5c0
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x84]
jmp 0x5a7123
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.0059c860
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 edi, dword [esp + 0x3c]
mov esi, dword [esp + 0x40]
mov ecx, dword [esp + 0x90]
mov ebp, dword [esp + 0x30]
mov ebx, dword [esp + 0x2c]
movzx eax, byte [esp + 0x21]
jmp 0x5a7214
cmp dword [edx + 0x64], 2
jge 0x5a7189
mov dword [esp], edx
mov dword [esp + 4], 2
call fcn.005997f0
movzx eax, byte [esp + 8]
test al, al
je 0x5a7347
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0xe8]
mov ebx, dword [esp + 0x88]
movzx eax, byte [esp + 0x21]
test al, al
je 0x5a71dd
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.0059cac0
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x24]
mov esi, dword [esp + 0x40]
mov edi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x88], ebx
mov ebx, eax
movzx eax, byte [esp + 0x21]
jmp 0x5a7214
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.0059cac0
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov esi, 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 0x5a6f42
mov dword [esp + 0x68], ebp
mov dword [esp + 0x64], ebx
mov dword [esp + 0xdc], ecx
mov dword [esp + 0x60], edi
mov dword [esp + 0x5c], esi
mov byte [esp + 0x22], al
mov eax, dword [esp + 0xe8]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.005997f0
movzx eax, byte [esp + 8]
test al, al
je 0x5a7338
movzx eax, byte [esp + 0x22]
mov ecx, dword [esp + 0xdc]
mov ebx, dword [esp + 0x64]
mov ebp, dword [esp + 0x68]
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + 0x60]
jmp 0x5a6f42
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 0x5a6948
nop
mov dword [edx], 3
mov dword [edx + 0x24], 0x1d
mov eax, dword [0x7da640]
test eax, eax
je 0x5a72c9
mov eax, dword [edx + 0x20]
call fcn.0046be70
mov dword [edi], eax
lea eax, [0x613d5b]
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 [0x7da640]
test eax, eax
je 0x5a7305
mov eax, dword [edx + 4]
call fcn.0046be70
mov dword [edi], eax
lea eax, [0x6192d3]
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.0046bef0
mov eax, ecx
mov ecx, ebp
call fcn.0046bef0
mov eax, edx
mov ecx, ebp
call fcn.0046bef0
mov eax, ecx
mov ecx, ebp
call fcn.0046bef0
mov eax, ecx
mov ecx, ebp
call fcn.0046bef0
mov eax, esi
mov ecx, ebp
call fcn.0046bef0
mov eax, ebp
call fcn.0046bef0
mov eax, esi
call fcn.0046bef0
mov eax, edi
call fcn.0046bef0
mov eax, esi
call fcn.0046bef0
mov eax, esi
call fcn.0046bef0
call fcn.0046bef0
xor eax, eax
mov ecx, eax
call fcn.0046bef0
call fcn.0046bef0
call fcn.0046bef0
mov eax, esi
mov ecx, ebx
call fcn.0046bef0
mov ecx, ebx
call fcn.0046bef0
mov ecx, ebx
call fcn.0046bef0
mov eax, ecx
mov ecx, ebx
call fcn.0046bef0
mov eax, ecx
mov ecx, ebx
call fcn.0046bef0
mov eax, esi
mov ecx, ebx
call fcn.0046bef0
nop
call fcn.0046aa70
jmp fcn.005a6540