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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x194]
cmp eax, dword [ecx + 8]
jbe 0x5cc074
sub esp, 0x214
mov edx, dword [esp + 0x218]
mov ecx, dword [edx + 0xe8]
mov ebx, dword [edx + 0xe4]
lea eax, [ecx - 1]
cmp ecx, eax
jbe 0x5cc06e
lea ecx, [ecx + ecx*8]
lea esi, [ebx + ecx*8 - 0x48]
lea edi, [esp + 0xd0]
call fcn.0045efdc
cmp dword [esp + 0xd0], 0xf
jne 0x5caf00
mov ecx, dword [edx + 0xe8]
mov ebx, dword [edx + 0xe4]
cmp ecx, 1
jle 0x5caf00
lea eax, [ecx - 2]
cmp ecx, eax
jbe 0x5cc069
lea ecx, [ecx + ecx*8]
lea esi, [ebx + ecx*8 - 0x90]
lea edi, [esp + 0xd0]
call fcn.0045efdc
mov ebx, dword [esp + 0xd4]
mov ebp, dword [esp + 0xd8]
mov eax, ebx
mov ebx, dword [esp + 0xdc]
mov ecx, ebx
mov ebx, dword [edx + 0xfc]
test ebx, ebx
jge 0x5caf25
xor ebx, ebx
mov esi, ebx
mov ebx, dword [edx + 0x68]
mov edi, ebp
mov ebp, dword [edx + 0x88]
mov edx, dword [edx + 0x8c]
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x220]
test edx, edx
jle 0x5caf75
mov dword [esp + 0x54], ebp
sub ebp, ebx
test ebx, ebx
jne 0x5caf5f
mov edx, dword [esp + 0x68]
cmp edx, 1
jle 0x5caf63
add ebp, 2
jmp 0x5caf64
mov edx, dword [esp + 0x68]
inc ebp
mov edx, dword [esp + 0x220]
mov dword [esp + 0x64], ebp
mov ebp, dword [esp + 0x54]
jmp 0x5caf8c
mov dword [esp + 0xb8], eax
mov eax, 0xffffffff
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0xb8]
cmp ebx, 1
setle bl
mov dword [esp + 0xb0], eax
xor eax, eax
mov dword [esp + 0x4c], eax
xor eax, eax
mov byte [esp + 0x22], al
xor eax, eax
mov dword [esp + 0x34], eax
xor eax, eax
mov dword [esp + 0x38], eax
xor eax, eax
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x224]
mov dword [esp + 0x84], eax
mov dword [esp + 0xa0], ecx
mov ecx, dword [esp + 0x21c]
mov dword [esp + 0x80], ecx
mov dword [esp + 0x98], edx
xor edx, edx
mov dword [esp + 0x44], edx
xor edx, edx
mov dword [esp + 0x3c], edx
xor edx, edx
mov dword [esp + 0x40], edx
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0x98]
jmp 0x5cb048
inc ebp
mov dword [esp + 0x4c], ebp
mov dword [esp + 0xc0], esi
mov esi, ebx
mov edi, dword [esp + 0x28]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], eax
mov ebp, edx
movzx ebx, byte [esp + 0x23]
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x54], ebp
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x4c]
cmp edx, 0x200
jge 0x5cbbc2
mov dword [esp + 0x30], ecx
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], eax
mov dword [esp + 0x50], esi
mov byte [esp + 0x23], bl
lea ebx, [edx + 1]
mov ebp, dword [esp + 0x218]
cmp dword [ebp + 0x64], ebx
jl 0x5cb087
xor ebx, ebx
jmp 0x5cb0b8
mov dword [esp], ebp
mov dword [esp + 4], ebx
call fcn.005bca30
movzx eax, byte [esp + 8]
xor eax, 1
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x218]
mov esi, dword [esp + 0x50]
mov edi, dword [esp + 0x28]
mov ebx, eax
mov eax, dword [esp + 0x2c]
test bl, bl
jne 0x5cbb8e
mov ebx, dword [ebp + 0x58]
mov dword [esp + 0x6c], ebx
mov ebx, dword [ebp + 0x54]
mov ebp, dword [ebp + 0x60]
mov dword [esp + 0x78], ebp
add ebp, edx
mov edx, dword [esp + 0x6c]
cmp edx, ebp
jbe 0x5cc060
mov dword [esp + 0xcc], ebx
mov edx, dword [esp + 0x68]
inc edx
movzx ebx, byte [ebx + ebp]
cmp bl, 0x20
je 0x5cb0f9
cmp bl, 9
jne 0x5cb124
mov edi, dword [esp + 0x218]
mov ebp, dword [esp + 0x4c]
mov esi, dword [esp + 0xc0]
mov ebx, dword [esp + 0x50]
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x54]
jmp 0x5cb01b
mov dword [esp + 0x74], edx
mov edx, dword [esp + 0x218]
mov edx, dword [edx + 0xe0]
test edx, edx
jle 0x5cb14d
cmp bl, 0x5d
jne 0x5cb145
mov edx, 1
jmp 0x5cb14f
cmp bl, 0x7d
sete dl
jmp 0x5cb14f
xor edx, edx
test dl, dl
je 0x5cb160
mov edx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x64]
jmp 0x5cb358
cmp bl, 0xd
jne 0x5cb16c
test dl, dl
jmp 0x5cb2d7
cmp bl, 0xa
jne 0x5cb178
test dl, dl
jmp 0x5cb2d7
mov byte [esp + 0x27], bl
mov byte [esp + 0x24], dl
cmp bl, 0xc2
jne 0x5cb1c8
mov ebx, dword [esp + 0x4c]
mov edx, dword [esp + 0x78]
lea edx, [edx + ebx + 1]
mov ebx, dword [esp + 0x6c]
cmp ebx, edx
jbe 0x5cc057
mov edx, dword [esp + 0xcc]
lea edx, [edx + ebp + 1]
cmp byte [edx], 0x85
jne 0x5cb1be
movzx edx, byte [esp + 0x24]
test dl, dl
movzx ebx, byte [esp + 0x27]
jmp 0x5cb2d7
movzx edx, byte [esp + 0x24]
movzx ebx, byte [esp + 0x27]
cmp bl, 0xe2
jne 0x5cb2cd
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x78]
lea edx, [ebx + edx + 1]
mov ebx, dword [esp + 0x6c]
cmp ebx, edx
jbe 0x5cc04e
mov dword [esp + 0x60], ebp
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0xcc]
lea edx, [edx + ebp + 1]
movzx edx, byte [edx]
mov byte [esp + 0x26], dl
cmp dl, 0x80
jne 0x5cb24b
mov edx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x78]
lea edx, [ebp + edx + 2]
cmp ebx, edx
jbe 0x5cc045
mov edx, dword [esp + 0x60]
mov ebp, dword [esp + 0xcc]
lea edx, [ebp + edx + 2]
cmp byte [edx], 0xa8
jne 0x5cb241
movzx edx, byte [esp + 0x24]
test dl, dl
movzx ebx, byte [esp + 0x27]
jmp 0x5cb2d7
movzx edx, byte [esp + 0x27]
cmp dl, 0xe2
jmp 0x5cb25e
movzx ebp, byte [esp + 0x27]
xchg ebp, eax
cmp al, 0xe2
xchg ebp, eax
mov edx, ebp
mov ebp, dword [esp + 0xcc]
jne 0x5cb2c6
mov edx, dword [esp + 0x70]
cmp ebx, edx
jbe 0x5cc03c
movzx edx, byte [esp + 0x26]
cmp dl, 0x80
jne 0x5cb2ba
mov edx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x78]
lea ebp, [ebp + edx + 2]
cmp ebx, ebp
jbe 0x5cc033
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0xcc]
lea ebx, [ebp + ebx + 2]
cmp byte [ebx], 0xa9
jne 0x5cb2ae
movzx ebx, byte [esp + 0x24]
test bl, bl
mov edx, ebx
movzx ebx, byte [esp + 0x27]
jmp 0x5cb2d7
movzx edx, byte [esp + 0x24]
movzx ebx, byte [esp + 0x27]
jmp 0x5cb2cd
movzx edx, byte [esp + 0x24]
movzx ebx, byte [esp + 0x27]
jmp 0x5cb2cd
mov ebx, edx
movzx edx, byte [esp + 0x24]
test bl, bl
jne 0x5cb7ab
test dl, dl
je 0x5cb2e3
mov edx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x64]
jmp 0x5cb358
movzx ebp, byte [esp + 0x22]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x5cb310
mov eax, dword [esp + 0x40]
mov ecx, esi
mov edx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x218]
mov edi, dword [esp + 0x4c]
mov esi, dword [esp + 0x38]
mov ebx, dword [esp + 0x2c]
jmp 0x5cb64e
test dl, dl
je 0x5cb31e
mov edx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x64]
jmp 0x5cb358
movzx edx, byte [esp + 0x23]
test dl, dl
je 0x5cb5a0
mov edx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x64]
cmp edx, ebp
jne 0x5cb341
cmp dword [esp + 0xd0], 0x11
jne 0x5cb358
mov ebp, dword [esp + 0x44]
lea edx, [ebp - 1]
cmp esi, edx
jle 0x5cb5a4
mov edx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x64]
mov ebx, dword [esp + 0x34]
test ebx, ebx
je 0x5cb582
mov ebp, dword [esp + 0x44]
lea ebx, [ebp - 1]
cmp esi, ebx
jle 0x5cb379
mov eax, ebp
mov ecx, edx
mov ebx, dword [esp + 0x40]
jmp 0x5cb387
mov eax, ebp
mov ecx, edx
mov ebp, dword [esp + 0x30]
mov edx, edi
mov ebx, dword [esp + 0x2c]
lea edi, [esp + 0x1c0]
xor eax, eax
call fcn.0045eb6b
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x1c0], ecx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x1c4], ecx
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x1c8], ecx
mov dword [esp + 0x1cc], ebx
mov dword [esp + 0x1d0], edx
mov dword [esp + 0x1d4], ebp
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x1d8], ecx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x1dc], edx
mov ebx, dword [esp + 0x44]
mov dword [esp + 0x1e0], ebx
mov ebp, dword [esp + 0x218]
mov eax, ecx
mov ecx, dword [ebp + 0x84]
mov edi, edx
mov edx, dword [esp + 0x4c]
add ecx, edx
mov dword [esp + 0x1e4], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x1e8], ecx
mov ebx, dword [esp + 0x74]
mov dword [esp + 0x1ec], ebx
mov ecx, dword [esp + 0xc0]
mov dword [esp + 0x208], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x20c], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x210], ecx
mov ecx, dword [ebp + 0xd0]
lea ebx, [ecx + 1]
mov edx, dword [ebp + 0xcc]
mov ebp, dword [ebp + 0xd4]
cmp ebp, ebx
jae 0x5cb4c5
lea eax, [0x61eae0]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.00447740
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x218]
mov dword [ebx + 0xd4], edx
mov edx, dword [0x7e77b0]
test edx, edx
jne 0x5cb4ac
mov dword [ebx + 0xcc], eax
jmp 0x5cb4b7
lea edi, [ebx + 0xcc]
call fcn.0045e950
mov esi, dword [esp + 0x50]
mov edi, dword [esp + 0x3c]
mov edx, eax
mov eax, dword [esp + 0x40]
lea ebx, [ecx + 1]
mov ebp, dword [esp + 0x218]
mov dword [ebp + 0xd0], ebx
mov ebx, dword [0x7e77b0]
imul ecx, ecx, 0x54
add ecx, edx
test ebx, ebx
jne 0x5cb4f8
mov edx, edi
mov edi, ecx
mov ebx, esi
lea esi, [esp + 0x1c0]
call fcn.0045efbe
jmp 0x5cb528
lea eax, [0x61eae0]
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [esp + 0x1c0]
mov dword [esp + 8], eax
call fcn.0040ff10
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x218]
mov ecx, ebx
mov ebx, dword [ebp + 0x84]
mov esi, ebx
mov ebx, dword [esp + 0x4c]
mov edi, ebx
add ebx, esi
xor esi, esi
xor esi, esi
mov dword [esp + 0x34], esi
xor esi, esi
mov dword [esp + 0xc0], esi
mov esi, dword [esp + 0x74]
mov dword [esp + 0x30], esi
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x28], eax
mov dword [esp + 0x80], ebx
mov dword [esp + 0x84], esi
mov dword [esp + 0x7c], eax
xor esi, esi
mov eax, dword [esp + 0x90]
jmp 0x5cb64e
mov eax, dword [esp + 0x40]
mov ecx, esi
mov ebp, dword [esp + 0x218]
mov edi, dword [esp + 0x4c]
mov esi, dword [esp + 0x38]
mov ebx, dword [esp + 0x2c]
jmp 0x5cb64e
mov ebp, dword [esp + 0x44]
mov edx, dword [esp + 0x34]
test edx, edx
je 0x5cb619
test bl, bl
je 0x5cb619
lea ebx, [edx + 1]
mov ebp, dword [esp + 0x38]
cmp ebp, ebx
jae 0x5cb60c
lea eax, [0x607140]
mov dword [esp], eax
mov ecx, dword [esp + 0xc0]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.00447740
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea ebx, [ecx + 1]
mov ecx, dword [esp + 0x30]
mov esi, dword [esp + 0x50]
mov edi, dword [esp + 0x28]
mov dword [esp + 0xc0], eax
mov ebp, edx
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x34]
mov esi, dword [esp + 0xc0]
mov byte [esi + edx], 0xa
jmp 0x5cb626
mov ebp, dword [esp + 0x38]
mov ebx, edx
mov esi, dword [esp + 0xc0]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x3c]
mov edi, dword [esp + 0x4c]
mov dword [esp + 0x34], ebx
mov dword [esp + 0xc0], esi
mov ebx, dword [esp + 0x2c]
mov esi, ebp
mov ebp, dword [esp + 0x218]
mov dword [esp + 0x2c], ebx
mov edx, dword [ebp + 0x58]
mov ebx, dword [ebp + 0x54]
mov ebp, dword [ebp + 0x60]
mov dword [esp + 0x78], ebp
add ebp, edi
cmp edx, ebp
jbe 0x5cc02a
mov dword [esp + 0xc8], ebx
movzx ebx, byte [ebx + ebp]
cmp bl, 0xd
je 0x5cb76c
cmp bl, 0xa
je 0x5cb76c
mov byte [esp + 0x27], bl
cmp bl, 0xc2
jne 0x5cb6b8
mov ebx, dword [esp + 0x78]
lea ebx, [ebx + edi + 1]
cmp edx, ebx
jbe 0x5cc021
mov ebx, dword [esp + 0xc8]
lea ebx, [ebp + ebx + 1]
cmp byte [ebx], 0x85
je 0x5cb76c
movzx ebx, byte [esp + 0x27]
cmp bl, 0xe2
jne 0x5cbb20
mov ebx, dword [esp + 0x78]
lea ebx, [ebx + edi + 1]
cmp edx, ebx
jbe 0x5cc018
mov dword [esp + 0x70], ebx
mov ebx, dword [esp + 0xc8]
lea ebx, [ebp + ebx + 1]
movzx ebx, byte [ebx]
mov byte [esp + 0x25], bl
cmp bl, 0x80
jne 0x5cb716
mov ebx, dword [esp + 0x78]
lea ebx, [ebx + edi + 2]
cmp edx, ebx
jbe 0x5cc00f
mov ebx, dword [esp + 0xc8]
lea ebx, [ebp + ebx + 2]
cmp byte [ebx], 0xa8
je 0x5cb76c
movzx ebx, byte [esp + 0x27]
cmp bl, 0xe2
jmp 0x5cb728
mov dword [esp + 0x5c], ebp
movzx ebp, byte [esp + 0x27]
xchg ebp, eax
cmp al, 0xe2
xchg ebp, eax
mov ebp, dword [esp + 0x5c]
jne 0x5cbb20
mov ebx, dword [esp + 0x70]
cmp edx, ebx
jbe 0x5cc006
movzx ebx, byte [esp + 0x25]
cmp bl, 0x80
jne 0x5cbb20
mov ebx, dword [esp + 0x78]
lea ebx, [ebx + edi + 2]
cmp edx, ebx
jbe 0x5cbffd
mov edx, dword [esp + 0xc8]
lea edx, [ebp + edx + 2]
cmp byte [edx], 0xa9
jne 0x5cbb20
mov edx, dword [esp + 0x54]
lea ebp, [edx + 1]
mov edi, dword [esp + 0x218]
mov edx, 1
mov byte [esp + 0x22], dl
xor ebx, ebx
mov byte [esp + 0x23], bl
mov dword [esp + 0x38], esi
mov esi, dword [esp + 0xc0]
mov ebx, ecx
mov ecx, dword [esp + 0x3c]
mov edx, ebp
xor ebp, ebp
mov dword [esp + 0x68], ebp
mov ebp, dword [esp + 0x4c]
jmp 0x5cb01b
mov edx, dword [esp + 0x34]
test edx, edx
je 0x5cb9e4
mov ebx, dword [esp + 0x68]
cmp ebx, esi
jge 0x5cb9da
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0x74]
cmp ebx, ebp
je 0x5cb9ec
mov esi, edi
lea edi, [esp + 0x16c]
xor eax, eax
call fcn.0045eb6b
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x16c], ecx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x170], ecx
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x174], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x178], ecx
mov dword [esp + 0x17c], esi
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x180], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x184], ecx
mov eax, ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x188], ecx
mov dword [esp + 0x18c], ebx
mov esi, ecx
mov ecx, dword [esp + 0x218]
mov edi, ebx
mov ebx, dword [ecx + 0x84]
mov ecx, dword [esp + 0x4c]
add ebx, ecx
mov dword [esp + 0x190], ebx
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x194], ebx
mov dword [esp + 0x198], ebp
mov ebx, dword [esp + 0xc0]
mov dword [esp + 0x1b4], ebx
mov dword [esp + 0x1b8], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x1bc], edx
mov edx, dword [esp + 0x218]
mov ebx, dword [edx + 0xd0]
lea ebp, [ebx + 1]
mov ecx, dword [edx + 0xcc]
mov edx, dword [edx + 0xd4]
cmp edx, ebp
jae 0x5cb91a
lea eax, [0x61eae0]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebp
call fcn.00447740
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x218]
mov dword [ebx + 0xd4], edx
mov edx, dword [0x7e77b0]
test edx, edx
jne 0x5cb8ff
mov dword [ebx + 0xcc], eax
jmp 0x5cb90a
lea edi, [ebx + 0xcc]
call fcn.0045e950
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x44]
mov ebx, ecx
mov ecx, eax
mov eax, dword [esp + 0x40]
lea edx, [ebx + 1]
mov ebp, dword [esp + 0x218]
mov dword [ebp + 0xd0], edx
mov edx, dword [0x7e77b0]
imul ebx, ebx, 0x54
add ecx, ebx
test edx, edx
jne 0x5cb94d
mov edx, edi
mov edi, ecx
mov ebx, esi
lea esi, [esp + 0x16c]
call fcn.0045efbe
jmp 0x5cb97d
lea eax, [0x61eae0]
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [esp + 0x16c]
mov dword [esp + 8], eax
call fcn.0040ff10
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x218]
mov ecx, ebx
mov ebx, dword [ebp + 0x84]
mov esi, ebx
mov ebx, dword [esp + 0x4c]
mov edi, ebx
add ebx, esi
mov esi, dword [esp + 0x74]
mov esi, dword [esp + 0x54]
mov dword [esp + 0x28], esi
xor esi, esi
mov dword [esp + 0x34], esi
xor esi, esi
mov dword [esp + 0x38], esi
xor esi, esi
mov dword [esp + 0xc0], esi
mov esi, dword [esp + 0x74]
mov dword [esp + 0x84], esi
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], ebx
mov eax, dword [esp + 0x88]
jmp 0x5cba09
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0x74]
jmp 0x5cb9ec
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0x74]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
mov edx, ebx
mov ebp, dword [esp + 0x218]
mov edi, dword [esp + 0x4c]
mov esi, dword [esp + 0x30]
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x2c], ebx
mov ebx, dword [ebp + 0x58]
mov edx, dword [ebp + 0x54]
mov ebp, dword [ebp + 0x60]
add ebp, edi
cmp ebx, ebp
jbe 0x5cbff4
add edx, ebp
cmp byte [edx], 0x23
jne 0x5cbb55
mov dword [esp + 0x30], esi
mov edx, dword [esp + 0x34]
test edx, edx
jne 0x5cba61
mov ebx, dword [esp + 0x218]
mov ebx, dword [ebx + 0x84]
add ebx, edi
mov ebp, dword [esp + 0x38]
mov esi, dword [esp + 0xc0]
mov edx, dword [esp + 0x74]
mov eax, ebx
mov ecx, dword [esp + 0x54]
mov ebx, dword [esp + 0x34]
jmp 0x5cbacc
lea ebx, [edx + 1]
mov ebp, dword [esp + 0x38]
cmp ebp, ebx
jae 0x5cbabd
lea eax, [0x607140]
mov dword [esp], eax
mov ecx, dword [esp + 0xc0]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.00447740
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea ebx, [ecx + 1]
mov ecx, dword [esp + 0x3c]
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x4c]
mov dword [esp + 0xc0], eax
mov ebp, edx
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x34]
mov esi, dword [esp + 0xc0]
mov byte [esi + edx], 0xa
mov edx, dword [esp + 0x44]
mov dword [esp + 0x44], edx
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ecx
mov edx, dword [esp + 0x218]
mov edx, dword [edx + 0x84]
add edx, edi
mov dword [esp + 0x48], edx
mov edi, dword [esp + 0x218]
jmp 0x5cbd87
mov edx, dword [edi + 0x88]
mov ebx, dword [edi + 0xfc]
test ebx, ebx
jge 0x5cbb09
xor ebx, ebx
xor ebp, ebp
xor ebp, ebp
xchg ebp, eax
mov byte [esp + 0x22], al
xchg ebp, eax
xor ebp, ebp
mov dword [esp + 0x68], ebp
xor ebp, ebp
jmp 0x5cb01b
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0xc0]
mov ebx, dword [esp + 0x84]
mov ebp, dword [esp + 0x7c]
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x84], ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x34]
jmp 0x5cbbf4
mov ecx, dword [esp + 0x34]
mov esi, dword [esp + 0x38]
mov edx, dword [esp + 0xc0]
mov ebx, dword [esp + 0x84]
mov ebp, dword [esp + 0x7c]
mov edx, dword [esp + 0x80]
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x74]
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0xc0]
jmp 0x5cbbf4
mov eax, dword [esp + 0x40]
mov edi, edx
mov ecx, dword [esp + 0x34]
mov esi, dword [esp + 0x38]
mov edx, dword [esp + 0xc0]
mov ebx, dword [esp + 0x84]
mov ebp, dword [esp + 0x7c]
mov eax, dword [esp + 0x80]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x40]
jmp 0x5cbbf4
mov eax, dword [esp + 0x40]
mov edi, edx
mov ecx, dword [esp + 0x34]
mov esi, dword [esp + 0x38]
mov edx, dword [esp + 0xc0]
mov ebx, dword [esp + 0x84]
mov ebp, dword [esp + 0x7c]
mov eax, dword [esp + 0x80]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x40]
test ecx, ecx
je 0x5cbd65
mov dword [esp + 0x34], ecx
lea edi, [esp + 0x118]
xor eax, eax
call fcn.0045eb6b
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x118], ecx
mov dword [esp + 0x11c], ebp
mov dword [esp + 0x120], ebx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x124], ecx
mov ebx, dword [esp + 0x3c]
mov dword [esp + 0x128], ebx
mov ebp, dword [esp + 0x44]
mov dword [esp + 0x12c], ebp
mov dword [esp + 0x130], ecx
mov dword [esp + 0x134], ebx
mov dword [esp + 0x138], ebp
mov ecx, dword [esp + 0x218]
mov ebx, dword [ecx + 0x84]
mov ebp, dword [esp + 0x4c]
lea ebx, [ebx + ebp - 1]
mov dword [esp + 0x13c], ebx
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x140], ebx
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x144], ebx
mov dword [esp + 0x148], edx
mov edx, dword [esp + 0x34]
mov dword [esp + 0x14c], edx
mov dword [esp + 0x150], esi
mov edx, dword [ecx + 0xd0]
lea ebx, [edx + 1]
mov ebp, dword [ecx + 0xcc]
mov eax, ecx
mov ecx, dword [ecx + 0xd4]
cmp ecx, ebx
jae 0x5cbd20
lea eax, [0x61eae0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.00447740
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x218]
mov dword [ebx + 0xd4], edx
mov edx, dword [0x7e77b0]
test edx, edx
jne 0x5cbd0f
mov dword [ebx + 0xcc], eax
jmp 0x5cbd1a
lea edi, [ebx + 0xcc]
call fcn.0045e950
mov edx, ecx
mov ebp, eax
mov eax, ebx
lea ecx, [edx + 1]
mov dword [eax + 0xd0], ecx
mov eax, dword [0x7e77b0]
imul ecx, edx, 0x54
lea edi, [ebp + ecx]
test eax, eax
jne 0x5cbd48
lea esi, [esp + 0x118]
call fcn.0045efbe
jmp 0x5cbd65
lea eax, [0x61eae0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x118]
mov dword [esp + 8], eax
call fcn.0040ff10
mov byte [esp + 0x228], 1
add esp, 0x214
ret
mov edi, dword [esp + 0x218]
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x38], ebp
mov dword [esp + 0x34], ebx
mov dword [esp + 0xc0], esi
cmp dword [edi + 0x64], 1
jge 0x5cbddb
mov dword [esp], edi
mov dword [esp + 4], 1
call fcn.005bca30
movzx eax, byte [esp + 8]
test al, al
je 0x5cbfaf
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0x34]
mov ebp, dword [esp + 0x38]
mov esi, dword [esp + 0xc0]
mov edi, dword [esp + 0x218]
mov ebx, dword [edi + 0x58]
mov ebp, dword [edi + 0x54]
mov edx, dword [edi + 0x60]
cmp edx, ebx
jae 0x5cbfeb
mov dword [esp + 0xc4], ebp
movzx ebp, byte [edx + ebp]
xchg ebp, eax
cmp al, 0xd
xchg ebp, eax
je 0x5cbef9
xchg ebp, eax
cmp al, 0xa
xchg ebp, eax
je 0x5cbef9
xchg ebp, eax
mov byte [esp + 0x27], al
xchg ebp, eax
xchg ebp, eax
cmp al, 0xc2
xchg ebp, eax
jne 0x5cbe3f
lea ebp, [edx + 1]
cmp ebx, ebp
jbe 0x5cbfe2
mov ebp, dword [esp + 0xc4]
lea ebp, [edx + ebp + 1]
cmp byte [ebp], 0x85
je 0x5cbef9
movzx ebp, byte [esp + 0x27]
xchg ebp, eax
cmp al, 0xe2
xchg ebp, eax
jne 0x5cbef3
lea ebp, [edx + 1]
cmp ebx, ebp
jbe 0x5cbfd9
mov dword [esp + 0x78], ebp
mov ebp, dword [esp + 0xc4]
lea ebp, [edx + ebp + 1]
movzx ebp, byte [ebp]
xchg ebp, eax
mov byte [esp + 0x25], al
xchg ebp, eax
xchg ebp, eax
cmp al, 0x80
xchg ebp, eax
jne 0x5cbe9d
lea ebp, [edx + 2]
cmp ebx, ebp
jbe 0x5cbfd0
mov ebp, dword [esp + 0xc4]
lea ebp, [edx + ebp + 2]
cmp byte [ebp], 0xa8
je 0x5cbef9
movzx ebp, byte [esp + 0x27]
xchg ebp, eax
cmp al, 0xe2
xchg ebp, eax
jmp 0x5cbeb2
mov dword [esp + 0x58], edx
movzx edx, byte [esp + 0x27]
cmp dl, 0xe2
mov edx, dword [esp + 0x58]
movzx ebp, byte [esp + 0x27]
jne 0x5cbef3
mov ebp, dword [esp + 0x78]
cmp ebx, ebp
jbe 0x5cbfc7
movzx ebp, byte [esp + 0x25]
xchg ebp, eax
cmp al, 0x80
xchg ebp, eax
jne 0x5cbeee
lea ebp, [edx + 2]
cmp ebx, ebp
jbe 0x5cbfbe
mov ebx, dword [esp + 0xc4]
lea edx, [edx + ebx + 2]
cmp byte [edx], 0xa9
je 0x5cbef9
movzx ebp, byte [esp + 0x27]
jmp 0x5cbef3
movzx ebp, byte [esp + 0x27]
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x5cbf4b
mov edx, dword [esp + 0x48]
cmp dword [edi + 0x84], edx
jge 0x5cbaf7
cmp dword [edi + 0x64], 2
jge 0x5cbf2f
mov dword [esp], edi
mov dword [esp + 4], 2
call fcn.005bca30
movzx eax, byte [esp + 8]
test al, al
je 0x5cbfa0
mov edi, dword [esp + 0x218]
mov dword [esp], edi
call fcn.005bf920
mov ebp, dword [esp + 0x38]
mov ebx, dword [esp + 0x34]
mov esi, dword [esp + 0xc0]
jmp 0x5cbd74
mov edx, dword [esp + 0x48]
cmp dword [edi + 0x84], edx
jl 0x5cbf84
mov dword [esp], edi
mov dword [esp + 4], esi
mov eax, dword [esp + 0x34]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0xc], eax
call fcn.005bfb00
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
jmp 0x5cbd74
mov dword [esp], edi
call fcn.005bf860
mov ebp, dword [esp + 0x38]
mov ebx, dword [esp + 0x34]
mov esi, dword [esp + 0xc0]
jmp 0x5cbd74
mov byte [esp + 0x228], 0
add esp, 0x214
ret
mov byte [esp + 0x228], 0
add esp, 0x214
ret
mov eax, ebp
mov ecx, ebx
call fcn.0045e9d0
mov eax, ebp
mov ecx, ebx
call fcn.0045e9d0
mov eax, ebp
mov ecx, ebx
call fcn.0045e9d0
mov eax, ebp
mov ecx, ebx
call fcn.0045e9d0
mov eax, ebp
mov ecx, ebx
call fcn.0045e9d0
mov eax, edx
mov ecx, ebx
call fcn.0045e9d0
mov eax, ebp
mov ecx, ebx
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, ebx
mov ecx, edx
call fcn.0045e9d0
mov eax, ebp
mov ecx, edx
call fcn.0045e9d0
mov eax, ebp
mov ecx, ebx
call fcn.0045e9d0
mov eax, edx
mov ecx, ebx
call fcn.0045e9d0
mov eax, edx
mov ecx, ebx
call fcn.0045e9d0
mov eax, edx
mov ecx, ebx
call fcn.0045e9d0
mov eax, edx
mov ecx, ebx
call fcn.0045e9d0
mov eax, ebp
mov ecx, edx
call fcn.0045e9d0
call fcn.0045e9d0
call fcn.0045e9d0
nop
call fcn.0045d540
jmp fcn.005cae70