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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x8c]
cmp eax, dword [ecx + 8]
jbe 0x5ca917
sub esp, 0x10c
mov edx, dword [esp + 0x110]
mov ebx, dword [edx + 0xfc]
inc ebx
mov dword [esp + 0x48], ebx
mov ebp, dword [edx + 0x8c]
mov dword [esp + 0x60], ebp
mov eax, ebx
mov ebx, dword [edx + 0x88]
mov dword [esp + 0x5c], ebx
mov ecx, edx
mov edx, dword [edx + 0x84]
mov dword [esp + 0x9c], edx
mov esi, ebp
mov edi, ebx
xor ebx, ebx
mov dword [esp + 0x3c], ebx
xor ebp, ebp
mov dword [esp + 0x38], ebp
xor ebp, ebp
mov dword [esp + 0xa8], ebp
xor esi, esi
xchg esi, eax
mov byte [esp + 0x23], al
xchg esi, eax
xor edi, edi
mov dword [esp + 0xa0], edi
xor edi, edi
mov dword [esp + 0x2c], edi
xor edi, edi
mov dword [esp + 0x28], edi
xor edi, edi
mov dword [esp + 0xac], edi
xor edi, edi
mov dword [esp + 0x44], edi
xor edi, edi
mov dword [esp + 0x40], edi
xor edi, edi
mov dword [esp + 0xa4], edi
xor edi, edi
mov dword [esp + 0x34], edi
xor edi, edi
mov dword [esp + 0x30], edi
mov ebp, dword [esp + 0x60]
mov ebx, dword [esp + 0x5c]
mov esi, ebp
mov edi, ebx
jmp 0x5c9abe
mov ebp, dword [esp + 0x54]
mov dword [esp + 0xac], ecx
mov dword [esp + 0x44], esi
mov dword [esp + 0x40], edi
mov dword [esp + 0x30], eax
mov ebp, dword [esp + 0x58]
mov ebx, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x110]
mov esi, dword [esp + 0x60]
mov edi, dword [esp + 0x5c]
mov dword [esp + 0x58], ebp
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], edx
cmp dword [ecx + 0x64], 4
jge 0x5c9b0c
mov dword [esp], ecx
mov dword [esp + 4], 4
call fcn.005bca30
movzx eax, byte [esp + 8]
test al, al
je 0x5c9e0a
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x110]
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x58]
mov esi, dword [esp + 0x60]
mov edi, dword [esp + 0x5c]
mov edx, dword [ecx + 0x8c]
test edx, edx
jne 0x5c9c47
mov edx, dword [ecx + 0x58]
mov ebx, dword [ecx + 0x54]
mov ebp, dword [ecx + 0x5c]
mov dword [esp + 0x98], ebp
mov ebp, dword [ecx + 0x60]
cmp edx, ebp
jbe 0x5ca90d
mov dword [esp + 0x94], ebp
mov dword [esp + 0xc0], ebx
movzx ebx, byte [ebx + ebp]
cmp bl, 0x2d
jne 0x5c9b9a
mov byte [esp + 0x27], bl
lea ebx, [ebp + 1]
cmp edx, ebx
jbe 0x5ca904
mov ebx, dword [esp + 0xc0]
lea ebx, [ebx + ebp + 1]
cmp byte [ebx], 0x2d
jne 0x5c9b95
lea ebx, [ebp + 2]
cmp edx, ebx
jbe 0x5ca8fb
mov ebx, dword [esp + 0xc0]
lea ebp, [ebx + ebp + 2]
cmp byte [ebp], 0x2d
je 0x5c9bda
movzx ebx, byte [esp + 0x27]
mov ebp, dword [esp + 0x94]
jmp 0x5c9b9a
movzx ebx, byte [esp + 0x27]
cmp bl, 0x2e
jne 0x5c9c3b
lea ebx, [ebp + 1]
cmp edx, ebx
jbe 0x5ca8f2
mov ebx, dword [esp + 0xc0]
lea ebx, [ebx + ebp + 1]
cmp byte [ebx], 0x2e
jne 0x5c9c2f
lea ebx, [ebp + 2]
cmp edx, ebx
jbe 0x5ca8e9
mov ebx, dword [esp + 0xc0]
lea ebp, [ebx + ebp + 2]
cmp byte [ebp], 0x2e
jne 0x5c9c23
mov dword [esp], ebx
mov dword [esp + 4], edx
mov eax, dword [esp + 0x98]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x94]
add eax, 3
mov dword [esp + 0xc], eax
call fcn.005cfe10
movzx eax, byte [esp + 0x10]
mov ecx, dword [esp + 0x110]
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x58]
mov esi, dword [esp + 0x60]
mov edi, dword [esp + 0x5c]
mov edx, eax
mov eax, dword [esp + 0x48]
jmp 0x5c9c49
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x58]
xor edx, edx
jmp 0x5c9c49
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x58]
xor edx, edx
jmp 0x5c9c49
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x58]
xor edx, edx
jmp 0x5c9c49
xor edx, edx
test dl, dl
jne 0x5c9e00
mov edx, dword [ecx + 0x58]
mov ebx, dword [ecx + 0x54]
mov ebp, dword [ecx + 0x60]
cmp edx, ebp
jbe 0x5ca8e0
lea edx, [ebx + ebp]
cmp byte [edx], 0x23
je 0x5c9dee
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0xa8]
jmp 0x5c9eff
mov edx, dword [esp + 0x110]
mov ecx, dword [edx + 0x58]
mov ebx, dword [edx + 0x54]
mov eax, dword [edx + 0x60]
cmp ecx, eax
jbe 0x5ca8ca
movzx ebp, byte [ebx + eax]
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
je 0x5c9d72
xchg ebp, eax
cmp al, 9
xchg ebp, eax
je 0x5c9d72
xchg ebp, eax
cmp al, 0xd
xchg ebp, eax
je 0x5c9d72
xchg ebp, eax
cmp al, 0xa
xchg ebp, eax
je 0x5c9d72
xchg ebp, eax
cmp al, 0xc2
xchg ebp, eax
jne 0x5c9cee
mov esi, edx
lea edx, [eax + 1]
cmp ecx, edx
jbe 0x5ca8c3
lea edx, [ebx + eax + 1]
cmp byte [edx], 0x85
jne 0x5c9cf0
mov edx, esi
jmp 0x5c9d72
mov esi, edx
xchg ebp, eax
cmp al, 0xe2
xchg ebp, eax
jne 0x5ca408
lea edx, [eax + 1]
cmp ecx, edx
jbe 0x5ca8bc
mov edi, edx
lea edx, [ebx + eax + 1]
movzx edx, byte [edx]
cmp dl, 0x80
jne 0x5c9d3c
mov byte [esp + 0x26], dl
lea edx, [eax + 2]
cmp ecx, edx
jbe 0x5ca8b5
lea edx, [ebx + eax + 2]
cmp byte [edx], 0xa8
jne 0x5c9d30
mov edx, esi
jmp 0x5c9d72
xchg ebp, eax
cmp al, 0xe2
xchg ebp, eax
movzx edx, byte [esp + 0x26]
jmp 0x5c9d41
xchg ebp, eax
cmp al, 0xe2
xchg ebp, eax
jne 0x5ca408
cmp ecx, edi
jbe 0x5ca8ae
cmp dl, 0x80
jne 0x5ca408
lea edx, [eax + 2]
cmp ecx, edx
jbe 0x5ca8a7
lea edx, [ebx + eax + 2]
cmp byte [edx], 0xa9
jne 0x5ca408
mov edx, esi
cmp dword [edx + 0x64], 1
jge 0x5c9d9c
mov dword [esp], edx
mov dword [esp + 4], 1
call fcn.005bca30
movzx eax, byte [esp + 8]
test al, al
je 0x5ca3f9
mov edx, dword [esp + 0x110]
mov ebx, dword [esp + 0xa4]
mov ebp, dword [esp + 0x34]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0xac]
mov esi, dword [esp + 0x44]
mov edi, dword [esp + 0x40]
jmp 0x5ca434
mov edx, dword [esp + 0x110]
mov ebx, dword [edx + 0xe0]
test ebx, ebx
jne 0x5c9de5
mov ebx, dword [esp + 0x48]
cmp dword [edx + 0x8c], ebx
jge 0x5c9a88
jmp 0x5ca797
mov ebx, dword [esp + 0x48]
jmp 0x5c9a88
mov ebp, dword [esp + 0x58]
mov ebx, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x38]
jmp 0x5c9e19
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x38]
jmp 0x5c9e19
mov byte [esp + 0x118], 0
add esp, 0x10c
ret
lea edi, [esp + 0xc4]
lea esi, [0x68c728]
call fcn.0045efdc
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0xc8], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0xcc], ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xdc], ebp
mov eax, dword [esp + 0xa8]
mov dword [esp + 0xe4], eax
mov dword [esp + 0xe8], edx
mov eax, dword [esp + 0x3c]
mov dword [esp + 0xec], eax
mov edi, dword [esp + 0x114]
test byte [edi], al
mov eax, dword [0x7e77b0]
test eax, eax
jne 0x5c9ea5
lea esi, [esp + 0xc4]
call fcn.0045efdc
jmp 0x5c9ec2
lea eax, [0x6218e0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0xc4]
mov dword [esp + 8], eax
call fcn.0040ff10
movzx eax, byte [esp + 0x23]
test al, al
je 0x5c9ed9
mov eax, dword [esp + 0x110]
mov byte [eax + 0x10c], 1
mov byte [esp + 0x118], 1
add esp, 0x10c
ret
mov ebx, ecx
mov dword [esp + 0x58], esi
mov dword [esp + 0x50], ebp
mov dword [esp + 0x54], edi
mov ecx, dword [esp + 0x110]
mov ebp, eax
mov dword [esp + 0x3c], edx
mov dword [esp + 0x38], ebx
mov dword [esp + 0xa8], ebp
mov eax, dword [ecx + 0x54]
mov esi, dword [ecx + 0x58]
mov edi, dword [ecx + 0x5c]
mov edx, dword [ecx + 0x60]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edi
mov dword [esp + 0xc], edx
call fcn.005cfe10
movzx eax, byte [esp + 0x10]
test al, al
jne 0x5c9c82
mov edx, dword [esp + 0x110]
mov ecx, dword [edx + 0x58]
mov ebx, dword [edx + 0x54]
mov ebp, dword [edx + 0x5c]
mov eax, dword [edx + 0x60]
cmp ecx, eax
jbe 0x5ca8db
mov esi, ebp
lea ebp, [ebx + eax]
cmp byte [ebp], 0x3a
je 0x5c9f65
xor eax, eax
jmp 0x5c9f86
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
inc eax
mov dword [esp + 0xc], eax
call fcn.005cfe10
movzx eax, byte [esp + 0x10]
mov edx, dword [esp + 0x110]
test al, al
jne 0x5c9c89
mov ebx, dword [edx + 0xe0]
test ebx, ebx
jle 0x5c9fe3
mov ecx, dword [edx + 0x58]
mov ebx, dword [edx + 0x54]
mov eax, dword [edx + 0x60]
cmp ecx, eax
jbe 0x5ca8d6
movzx ebx, byte [ebx + eax]
cmp bl, 0x2c
je 0x5c9c89
cmp bl, 0x3f
je 0x5c9c89
cmp bl, 0x5b
je 0x5c9c89
cmp bl, 0x5d
je 0x5c9c89
cmp bl, 0x7b
je 0x5c9c89
cmp bl, 0x7d
je 0x5c9c89
movzx ebx, byte [esp + 0x23]
test bl, bl
je 0x5c9ff2
mov ebp, dword [esp + 0x28]
jmp 0x5ca006
mov ebp, dword [esp + 0x28]
test ebp, ebp
je 0x5ca312
test bl, bl
je 0x5ca26c
mov ecx, dword [esp + 0x40]
test ecx, ecx
jbe 0x5ca8cf
mov eax, dword [esp + 0xac]
cmp byte [eax], 0xa
jne 0x5ca13b
mov ecx, dword [esp + 0x30]
test ecx, ecx
jne 0x5ca099
mov ecx, dword [esp + 0x38]
lea ebx, [ecx + 1]
mov esi, dword [esp + 0x3c]
cmp esi, ebx
jb 0x5ca042
mov edi, dword [esp + 0xa8]
jmp 0x5ca090
lea eax, [0x607140]
mov dword [esp], eax
mov edx, dword [esp + 0xa8]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.00447740
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea ebx, [eax + 1]
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0x38]
mov edi, ebp
mov esi, edx
mov edx, dword [esp + 0x110]
mov ebp, dword [esp + 0x28]
mov byte [edi + ecx], 0x20
jmp 0x5ca257
mov ebx, dword [esp + 0x38]
lea esi, [ecx + ebx]
mov dword [esp + 0x98], esi
mov edi, dword [esp + 0x3c]
cmp edi, esi
jae 0x5ca0ed
lea eax, [0x607140]
mov dword [esp], eax
mov ecx, dword [esp + 0xa8]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], esi
call fcn.00447740
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
mov ebx, dword [esp + 0x38]
mov dword [esp + 0xa8], ebp
mov edi, edx
mov dword [esp + 0x3c], edi
mov eax, dword [esp + 0xa8]
lea edx, [eax + ebx]
mov dword [esp], edx
mov edx, dword [esp + 0xa4]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0045f270
mov eax, dword [esp + 0xac]
mov edx, dword [esp + 0x110]
mov ebp, dword [esp + 0x28]
mov esi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x98]
mov edi, dword [esp + 0xa8]
jmp 0x5ca257
mov ebx, dword [esp + 0x38]
lea esi, [ecx + ebx]
mov dword [esp + 0x98], esi
mov edi, dword [esp + 0x3c]
cmp edi, esi
jae 0x5ca196
lea eax, [0x607140]
mov dword [esp], eax
mov ecx, dword [esp + 0xa8]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], esi
call fcn.00447740
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0x40]
mov ebx, dword [esp + 0x38]
mov edi, edx
mov dword [esp + 0xa8], ebp
mov dword [esp + 0x3c], edi
mov edx, dword [esp + 0xa8]
add ebx, edx
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0045f270
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x98]
lea edx, [ecx + eax]
mov dword [esp + 0x38], edx
mov ebx, dword [esp + 0x3c]
cmp ebx, edx
jb 0x5ca1d6
mov ebp, dword [esp + 0xa8]
jmp 0x5ca212
lea eax, [0x607140]
mov dword [esp], eax
mov ebp, dword [esp + 0xa8]
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.00447740
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x98]
mov ebp, eax
mov ebx, edi
mov eax, dword [esp + 0x30]
mov dword [esp + 0x3c], ebx
mov dword [esp + 0xa8], ebp
add ecx, ebp
mov dword [esp], ecx
mov ecx, dword [esp + 0xa4]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0045f270
mov eax, dword [esp + 0xac]
mov edx, dword [esp + 0x110]
mov ebp, dword [esp + 0x28]
mov ebx, dword [esp + 0x38]
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0xa8]
xor ecx, ecx
xor ecx, ecx
mov dword [esp + 0x40], ecx
xor ecx, ecx
mov dword [esp + 0x30], ecx
xor ecx, ecx
jmp 0x5ca326
mov eax, dword [esp + 0x38]
lea ecx, [ebp + eax]
mov dword [esp + 0x98], ecx
mov esi, dword [esp + 0x3c]
cmp esi, ecx
jb 0x5ca28c
mov edi, dword [esp + 0xa8]
jmp 0x5ca2c5
lea edx, [0x607140]
mov dword [esp], edx
mov ebx, dword [esp + 0xa8]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ecx
call fcn.00447740
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x38]
mov edi, ebp
mov esi, edx
mov ebp, dword [esp + 0x28]
mov dword [esp + 0xa8], edi
mov dword [esp + 0x3c], esi
add eax, edi
mov dword [esp], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.0045f270
mov eax, dword [esp + 0xac]
mov edx, dword [esp + 0x110]
mov esi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x98]
mov edi, dword [esp + 0xa8]
movzx ecx, byte [esp + 0x23]
xor ebp, ebp
jmp 0x5ca326
mov esi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x38]
mov edi, dword [esp + 0xa8]
movzx ecx, byte [esp + 0x23]
mov dword [esp + 0x28], ebp
mov byte [esp + 0x23], cl
mov dword [esp], edx
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
call fcn.005bfb00
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x110]
mov ebp, dword [ebx + 0x88]
mov esi, dword [ebx + 0x8c]
mov edi, dword [ebx + 0x84]
cmp dword [ebx + 0x64], 2
jge 0x5c9ee8
mov dword [esp + 0x90], edx
mov dword [esp + 0x8c], ecx
mov dword [esp + 0xbc], eax
mov dword [esp + 0x88], edi
mov dword [esp + 0x84], esi
mov dword [esp + 0x80], ebp
mov dword [esp], ebx
mov dword [esp + 4], 2
call fcn.005bca30
movzx eax, byte [esp + 8]
test al, al
je 0x5ca3ea
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x90]
mov ebx, dword [esp + 0x110]
mov ebp, dword [esp + 0x80]
mov esi, dword [esp + 0x84]
mov edi, dword [esp + 0x88]
jmp 0x5c9ee8
mov byte [esp + 0x118], 0
add esp, 0x10c
ret
mov byte [esp + 0x118], 0
add esp, 0x10c
ret
mov ecx, esi
mov esi, dword [esp + 0x60]
mov edi, dword [esp + 0x5c]
mov ebp, dword [esp + 0x58]
mov ebx, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x38]
jmp 0x5c9e19
mov byte [esp + 0x23], al
mov eax, ebx
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0xa4], ebx
mov dword [esp + 0x34], ebp
mov ebp, dword [edx + 0x58]
mov ebx, dword [edx + 0x54]
mov edx, dword [edx + 0x60]
cmp ebp, edx
jbe 0x5ca89e
mov dword [esp + 0xb0], ebx
movzx ebx, byte [ebx + edx]
cmp bl, 0x20
je 0x5ca58e
cmp bl, 9
je 0x5ca587
cmp bl, 0xd
je 0x5ca580
cmp bl, 0xa
je 0x5ca579
mov byte [esp + 0x27], bl
cmp bl, 0xc2
jne 0x5ca4b7
lea ebx, [edx + 1]
cmp ebp, ebx
jbe 0x5ca895
mov ebx, dword [esp + 0xb0]
lea ebx, [ebx + edx + 1]
cmp byte [ebx], 0x85
je 0x5ca4aa
movzx ebx, byte [esp + 0x27]
jmp 0x5ca4b7
movzx edx, byte [esp + 0x27]
cmp dl, 0x20
jmp 0x5ca590
cmp bl, 0xe2
jne 0x5c9dbf
lea ebx, [edx + 1]
cmp ebp, ebx
jbe 0x5ca88c
mov dword [esp + 0x98], ebx
mov ebx, dword [esp + 0xb0]
lea ebx, [ebx + edx + 1]
movzx ebx, byte [ebx]
mov byte [esp + 0x25], bl
cmp bl, 0x80
jne 0x5ca518
lea ebx, [edx + 2]
cmp ebp, ebx
jbe 0x5ca883
mov ebx, dword [esp + 0xb0]
lea ebx, [ebx + edx + 2]
cmp byte [ebx], 0xa8
je 0x5ca50e
movzx ebx, byte [esp + 0x27]
cmp bl, 0xe2
jmp 0x5ca52d
movzx edx, byte [esp + 0x27]
cmp dl, 0x20
jmp 0x5ca590
mov dword [esp + 0x4c], edx
movzx edx, byte [esp + 0x27]
cmp dl, 0xe2
mov edx, dword [esp + 0x4c]
movzx ebx, byte [esp + 0x27]
jne 0x5c9dbf
mov ebx, dword [esp + 0x98]
cmp ebp, ebx
jbe 0x5ca87a
movzx ebx, byte [esp + 0x25]
cmp bl, 0x80
jne 0x5c9dbf
lea ebx, [edx + 2]
cmp ebp, ebx
jbe 0x5ca871
mov ebx, dword [esp + 0xb0]
lea edx, [ebx + edx + 2]
cmp byte [edx], 0xa9
jne 0x5c9dbf
movzx edx, byte [esp + 0x27]
cmp dl, 0x20
jmp 0x5ca590
cmp bl, 0x20
mov edx, ebx
jmp 0x5ca590
cmp bl, 0x20
mov edx, ebx
jmp 0x5ca590
cmp bl, 0x20
mov edx, ebx
jmp 0x5ca590
mov edx, ebx
mov dword [esp + 0x7c], eax
mov dword [esp + 0x78], edi
mov dword [esp + 0xb8], ecx
mov dword [esp + 0x74], esi
je 0x5ca5ae
cmp dl, 9
jne 0x5ca658
movzx ebx, byte [esp + 0x23]
test bl, bl
je 0x5ca5f4
mov ebp, dword [esp + 0x48]
mov ecx, dword [esp + 0x110]
cmp dword [ecx + 0x8c], ebp
jge 0x5ca5d7
cmp dl, 9
je 0x5ca7b6
test bl, bl
jmp 0x5ca5d9
test bl, bl
je 0x5ca5fb
mov dword [esp], ecx
call fcn.005bf860
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0xa0]
jmp 0x5ca62a
mov ecx, dword [esp + 0x110]
mov dword [esp], ecx
mov eax, dword [esp + 0xa0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xc], eax
call fcn.005bfb00
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x2c], edx
mov edx, ecx
mov dword [esp + 0xa0], eax
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0x78]
mov ecx, dword [esp + 0xb8]
mov ebp, dword [esp + 0x34]
mov ebx, dword [esp + 0x7c]
movzx eax, byte [esp + 0x23]
jmp 0x5ca722
mov edx, dword [esp + 0x110]
cmp dword [edx + 0x64], 2
jge 0x5ca69c
mov dword [esp], edx
mov dword [esp + 4], 2
call fcn.005bca30
movzx eax, byte [esp + 8]
test al, al
je 0x5ca862
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0x110]
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0x78]
movzx ebx, byte [esp + 0x23]
test bl, bl
je 0x5ca6f3
mov dword [esp], edx
mov ecx, dword [esp + 0xa4]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0xc], eax
call fcn.005bfd70
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x28]
mov edi, dword [esp + 0x78]
mov esi, dword [esp + 0x74]
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0xa4], ebx
mov ebx, eax
movzx eax, byte [esp + 0x23]
jmp 0x5ca722
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
mov dword [esp + 0xc], esi
call fcn.005bfd70
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov eax, 1
xor edx, edx
mov ebp, dword [esp + 0x34]
mov ebx, dword [esp + 0x7c]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x110]
cmp dword [edx + 0x64], 1
jge 0x5ca427
mov dword [esp + 0x70], ebp
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x68], esi
mov dword [esp + 0x64], edi
mov dword [esp + 0xb4], ecx
mov byte [esp + 0x24], al
mov dword [esp], edx
mov dword [esp + 4], 1
call fcn.005bca30
movzx eax, byte [esp + 8]
test al, al
je 0x5ca853
movzx eax, byte [esp + 0x24]
mov ecx, dword [esp + 0xb4]
mov edx, dword [esp + 0x110]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x70]
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x64]
jmp 0x5ca427
mov ecx, edx
mov esi, dword [esp + 0x60]
mov edi, dword [esp + 0x5c]
mov ebp, dword [esp + 0x58]
mov ebx, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x38]
jmp 0x5c9e19
nop
mov dword [ecx], 3
mov dword [ecx + 0x24], 0x1d
mov edx, dword [0x7e77b0]
test edx, edx
jne 0x5ca7d9
lea edx, [0x638ae2]
mov dword [ecx + 0x20], edx
jmp 0x5ca7e7
lea edi, [ecx + 0x20]
lea eax, [0x638ae2]
call fcn.0045e950
mov edx, dword [esp + 0x9c]
mov dword [ecx + 0x28], edx
mov edx, dword [esp + 0x5c]
mov dword [ecx + 0x2c], edx
mov edx, dword [esp + 0x60]
mov dword [ecx + 0x30], edx
mov dword [ecx + 8], 0x2f
mov edx, dword [0x7e77b0]
test edx, edx
jne 0x5ca81b
lea eax, [0x63e1ec]
mov dword [ecx + 4], eax
jmp 0x5ca829
lea edi, [ecx + 4]
lea eax, [0x63e1ec]
call fcn.0045e950
mov eax, dword [ecx + 0x88]
mov edx, dword [ecx + 0x8c]
mov ebx, dword [ecx + 0x84]
mov dword [ecx + 0x14], ebx
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x1c], edx
mov byte [esp + 0x118], 0
add esp, 0x10c
ret
mov byte [esp + 0x118], 0
add esp, 0x10c
ret
mov byte [esp + 0x118], 0
add esp, 0x10c
ret
mov eax, ebx
mov ecx, ebp
call fcn.0045e9d0
mov eax, ebx
mov ecx, ebp
call fcn.0045e9d0
mov eax, ebx
mov ecx, ebp
call fcn.0045e9d0
mov eax, ebx
mov ecx, ebp
call fcn.0045e9d0
mov eax, ebx
mov ecx, ebp
call fcn.0045e9d0
mov eax, edx
mov ecx, ebp
call fcn.0045e9d0
mov eax, edx
call fcn.0045e9d0
mov eax, edi
call fcn.0045e9d0
mov eax, edx
call fcn.0045e9d0
mov eax, edx
call fcn.0045e9d0
mov eax, edx
call fcn.0045e9d0
call fcn.0045e9d0
xor eax, eax
call fcn.0045e9d0
call fcn.0045e9d0
call fcn.0045e9d0
mov eax, ebp
mov ecx, edx
call fcn.0045e9d0
mov eax, ebx
mov ecx, edx
call fcn.0045e9d0
mov eax, ebx
mov ecx, edx
call fcn.0045e9d0
mov eax, ebx
mov ecx, edx
call fcn.0045e9d0
mov eax, ebx
mov ecx, edx
call fcn.0045e9d0
mov eax, ebp
mov ecx, edx
call fcn.0045e9d0
nop
call fcn.0045d540
jmp fcn.005c99c0