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

Disassembly:
mov ecx, dword [0x82b814]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x38]
cmp eax, dword [ecx + 8]
jbe 0x5c7002
sub esp, 0xb8
mov eax, dword [esp + 0xbc]
mov ecx, dword [eax + 0x2c]
mov edx, dword [ecx + 0x44]
test edx, edx
jne 0x5c6199
movzx edx, byte [ecx + 0x50]
test dl, dl
jne 0x5c6199
lea eax, [0x639500]
mov dword [esp], eax
call fcn.0040d2d0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x50
lea ecx, [0x6729f9]
mov dword [eax], ecx
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
lea ecx, [0x6b96cc]
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], eax
add esp, 0xb8
ret
mov edx, dword [ecx + 0x38]
mov ebx, dword [ecx + 0x34]
xor ebp, ebp
xor esi, esi
jmp 0x5c61aa
inc ebp
lea esi, [esi + edi + 1]
cmp ebp, edx
jge 0x5c6212
lea edi, [ebx + ebp*8]
mov edi, dword [edi + 4]
test edi, edi
je 0x5c61c0
cmp edi, 0xff
jle 0x5c61a5
lea eax, [0x639500]
mov dword [esp], eax
call fcn.0040d2d0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1d
lea ecx, [0x6687eb]
mov dword [eax], ecx
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
lea ecx, [0x6b96cc]
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], eax
add esp, 0xb8
ret
cmp esi, 0xffff
jg 0x5c660f
mov dword [esp + 0x9c], ecx
mov dword [esp], ecx
mov byte [esp + 4], 1
call fcn.005bc5c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x10]
test eax, eax
je 0x5c65bd
mov dword [esp + 0x48], edx
mov dword [esp + 0x84], ecx
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x9c]
mov dword [esp], eax
mov byte [esp + 4], 1
call fcn.005bc5c0
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x5c6275
xor eax, eax
jmp 0x5c627c
mov eax, dword [esp + 8]
movzx eax, word [eax]
cmp ax, 0x303
jbe 0x5c6287
mov eax, 0x303
mov word [esp + 0x2a], ax
lea ecx, [0x630a60]
mov dword [esp], ecx
mov dword [esp + 4], 0x20
mov dword [esp + 8], 0x20
call fcn.00450080
mov eax, dword [esp + 0x9c]
mov ecx, dword [eax + 0x40]
mov edx, dword [eax + 0x44]
mov ebx, dword [esp + 0xc]
mov dword [esp + 0xac], ebx
mov dword [esp], ecx
mov dword [esp + 4], edx
call fcn.005cce20
mov eax, dword [esp + 0x9c]
mov ecx, dword [eax + 0x9c]
mov edx, dword [esp + 8]
mov dword [esp + 0xa8], edx
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x6c], ebx
test ecx, ecx
jne 0x5c6306
mov ebp, dword [0x7e6ef8]
mov ecx, dword [0x7e6efc]
mov esi, dword [0x7e6f00]
jmp 0x5c6312
mov esi, dword [eax + 0xa0]
mov ebp, dword [eax + 0x98]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x38], esi
mov dword [esp + 0x74], ebp
lea eax, [0x657360]
mov dword [esp], eax
call fcn.0040d2d0
mov eax, dword [esp + 4]
mov dword [esp + 0x94], eax
movzx ecx, word [esp + 0x2a]
mov word [eax + 0xc], cx
lea ecx, [0x62d980]
mov dword [esp], ecx
call fcn.0040d2d0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x94]
mov dword [ecx + 0x38], 1
mov dword [ecx + 0x3c], 1
mov edx, dword [0x82b968]
test edx, edx
jne 0x5c637a
mov edx, dword [esp + 0xac]
jmp 0x5c6397
call fcn.0046b960
mov dword [edi], eax
mov edx, dword [ecx + 0x34]
mov dword [edi + 4], edx
mov edx, dword [esp + 0xac]
mov dword [edi + 8], edx
mov ebx, dword [ecx + 0x10]
mov dword [edi + 0xc], ebx
mov dword [ecx + 0x34], eax
mov dword [ecx + 0x14], 0x20
mov dword [ecx + 0x18], 0x20
mov dword [ecx + 0x10], edx
mov byte [ecx + 0x9c], 1
mov byte [ecx + 0x48], 1
mov byte [ecx + 0xac], 1
mov eax, dword [esp + 0x6c]
mov dword [ecx + 0x44], eax
mov eax, dword [0x82b968]
test eax, eax
jne 0x5c63db
mov eax, dword [esp + 0xa8]
mov edx, dword [esp + 0x74]
jmp 0x5c63fc
call fcn.0046b960
mov eax, dword [esp + 0xa8]
mov dword [edi], eax
mov edx, dword [ecx + 0x40]
mov dword [edi + 4], edx
mov edx, dword [esp + 0x74]
mov dword [edi + 8], edx
mov ebx, dword [ecx + 0x4c]
mov dword [edi + 0xc], ebx
mov dword [ecx + 0x40], eax
mov eax, dword [esp + 0x30]
mov dword [ecx + 0x50], eax
mov eax, dword [esp + 0x38]
mov dword [ecx + 0x54], eax
mov dword [ecx + 0x4c], edx
lea eax, [0x62d980]
mov dword [esp], eax
call fcn.0040d2d0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x94]
mov dword [ecx + 0x5c], 1
mov dword [ecx + 0x60], 1
mov edx, dword [0x82b968]
test edx, edx
je 0x5c644e
call fcn.0046b940
mov dword [edi], eax
mov edx, dword [ecx + 0x58]
mov dword [edi + 4], edx
mov dword [ecx + 0x58], eax
mov byte [ecx + 0x8c], 1
mov eax, dword [esp + 0x9c]
mov edx, dword [eax + 0x38]
mov ebx, dword [eax + 0x3c]
mov ebp, dword [eax + 0x34]
mov dword [ecx + 0xa4], edx
mov dword [ecx + 0xa8], ebx
mov edx, dword [0x82b968]
test edx, edx
jne 0x5c6487
mov edx, dword [esp + 0x84]
jmp 0x5c64aa
call fcn.0046b960
mov dword [edi], ebp
mov edx, dword [ecx + 0xa0]
mov dword [edi + 4], edx
mov edx, dword [esp + 0x84]
mov dword [edi + 8], edx
mov ebx, dword [ecx + 0xb0]
mov dword [edi + 0xc], ebx
mov dword [ecx + 0xa0], ebp
mov ebx, dword [esp + 0x44]
mov dword [ecx + 0xb4], ebx
mov ebx, dword [esp + 0x48]
mov dword [ecx + 0xb8], ebx
mov dword [ecx + 0xb0], edx
mov edx, dword [esp + 0xbc]
mov ebx, dword [edx + 0x30]
test ebx, ebx
jle 0x5c6512
mov dword [ecx + 0x94], 0xc
mov dword [ecx + 0x98], 0xc
mov ebx, dword [0x82b968]
lea ebp, [edx + 0xa9]
test ebx, ebx
je 0x5c650c
call fcn.0046b940
mov dword [edi], ebp
mov ebx, dword [ecx + 0x90]
mov dword [edi + 4], ebx
mov dword [ecx + 0x90], ebp
movzx ebx, byte [0x82b6e8]
mov ebp, dword [0x7e6e88]
mov esi, dword [0x7e6e8c]
test bl, bl
jne 0x5c6535
mov ebp, dword [0x7e6e98]
mov esi, dword [0x7e6e9c]
mov dword [esp + 0x4c], esi
mov dword [esp + 0x88], ebp
mov dword [esp], eax
call fcn.005bc510
mov eax, dword [esp + 8]
mov dword [esp + 0x50], eax
mov ecx, dword [esp + 4]
mov dword [esp + 0x98], ecx
lea edx, [0x630ae0]
mov dword [esp], edx
mov dword [esp + 4], 0
call fcn.00450080
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x94]
mov dword [ecx + 0x2c], 0
mov edx, dword [esp + 0x50]
mov dword [ecx + 0x30], edx
mov ebx, dword [0x82b968]
test ebx, ebx
je 0x5c65a1
call fcn.0046b940
mov dword [edi], eax
mov ebx, dword [ecx + 0x28]
mov dword [edi + 4], ebx
mov dword [ecx + 0x28], eax
mov eax, dword [esp + 0x4c]
mov ebx, dword [esp + 0x88]
mov ebp, dword [esp + 0x98]
xor esi, esi
jmp 0x5c6669
lea eax, [0x639500]
mov dword [esp], eax
call fcn.0040d2d0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x3c
lea ecx, [0x67140b]
mov dword [eax], ecx
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
lea ecx, [0x6b96cc]
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], eax
add esp, 0xb8
ret
lea eax, [0x639500]
mov dword [esp], eax
call fcn.0040d2d0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x20
lea ecx, [0x669b9d]
mov dword [eax], ecx
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
lea ecx, [0x6b96cc]
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], eax
add esp, 0xb8
ret
inc esi
mov ebx, dword [esp + 0x88]
cmp eax, esi
jle 0x5c6756
movzx edi, word [ebx + esi*2]
mov word [esp + 0x26], di
mov dword [esp + 0x5c], eax
xor eax, eax
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x5c]
jmp 0x5c6fa6
mov ebx, dword [0x7e6e68]
mov ebp, dword [0x7e6e6c]
mov word [esp + 0x54], ax
xor eax, eax
mov dword [esp + 0x6c], eax
movzx eax, word [esp + 0x54]
jmp 0x5c6fd1
xor ebx, ebx
test ebx, ebx
je 0x5c6661
cmp word [ecx + 0xc], 0x303
jae 0x5c66c7
mov ebx, dword [ebx + 0x14]
test ebx, 4
jne 0x5c6661
mov ebx, dword [ecx + 0x30]
mov ebp, dword [ecx + 0x2c]
inc ebp
mov edx, dword [ecx + 0x28]
cmp ebx, ebp
jae 0x5c673e
mov dword [esp + 0x6c], esi
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x630ae0]
mov dword [esp + 0x10], eax
call fcn.00450140
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x94]
mov dword [ebx + 0x30], eax
mov eax, dword [0x82b968]
test eax, eax
je 0x5c6728
call fcn.0046b940
mov dword [edi], ecx
mov eax, dword [ebx + 0x28]
mov dword [edi + 4], eax
mov dword [ebx + 0x28], ecx
mov eax, dword [esp + 0x4c]
mov esi, dword [esp + 0x6c]
movzx edi, word [esp + 0x26]
mov ebp, edx
mov edx, ecx
mov ecx, ebx
mov dword [ecx + 0x2c], ebp
mov word [edx + ebp*2 - 2], di
mov edx, dword [esp + 0x50]
mov ebp, dword [esp + 0x98]
jmp 0x5c6661
mov eax, dword [esp + 0x9c]
mov edx, dword [eax]
test edx, edx
je 0x5c6768
mov ebx, dword [eax + 4]
jmp 0x5c6774
mov edx, dword [0x7ec610]
mov ebx, dword [0x7ec614]
mov eax, dword [ecx + 0x14]
mov ebp, dword [ecx + 0x10]
mov esi, dword [ecx + 0x18]
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], eax
call fcn.00476e50
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x5c6ec8
mov edx, dword [esp + 0xbc]
mov ebx, dword [edx + 0x10]
test ebx, ebx
jne 0x5c6864
lea eax, [0x630a60]
mov dword [esp], eax
mov dword [esp + 4], 0x20
mov dword [esp + 8], 0x20
call fcn.00450080
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x94]
mov dword [ecx + 0x20], 0x20
mov dword [ecx + 0x24], 0x20
mov edx, dword [0x82b968]
test edx, edx
je 0x5c6805
call fcn.0046b940
mov dword [edi], eax
mov edx, dword [ecx + 0x1c]
mov dword [edi + 4], edx
mov dword [ecx + 0x1c], eax
mov eax, dword [esp + 0x9c]
mov edx, dword [eax]
test edx, edx
je 0x5c681a
mov ebx, dword [eax + 4]
jmp 0x5c6826
mov edx, dword [0x7ec610]
mov ebx, dword [0x7ec614]
mov eax, dword [ecx + 0x1c]
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x20
mov dword [esp + 0x10], 0x20
mov dword [esp + 0x14], 0x20
call fcn.00476e50
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x5c6e17
mov edx, dword [esp + 0xbc]
mov ebx, dword [esp + 0x94]
cmp word [ebx + 0xc], 0x303
jb 0x5c68a9
mov ebp, dword [0x7e6ecc]
mov esi, dword [0x7e6ed0]
mov edi, dword [0x7e6ec8]
mov dword [ebx + 0x78], ebp
mov dword [ebx + 0x7c], esi
mov ebp, dword [0x82b968]
test ebp, ebp
je 0x5c68a6
mov eax, edi
call fcn.0046b940
mov dword [edi], eax
mov ebp, dword [ebx + 0x74]
mov dword [edi + 4], ebp
mov edi, eax
mov dword [ebx + 0x74], edi
mov ebp, dword [0x7ec6e0]
test ebp, ebp
je 0x5c68df
mov esi, dword [0x7ec6e4]
mov edi, dword [0x7ec6e8]
mov dword [ebx + 0x78], esi
mov dword [ebx + 0x7c], edi
mov esi, dword [0x82b968]
test esi, esi
je 0x5c68dc
call fcn.0046b940
mov dword [edi], ebp
mov esi, dword [ebx + 0x74]
mov dword [edi + 4], esi
mov dword [ebx + 0x74], ebp
mov ebp, dword [ebx + 0xb4]
test ebp, ebp
jbe 0x5c6f8b
mov eax, dword [ebx + 0xb0]
cmp word [eax], 0x304
jne 0x5c6d49
cmp ebp, 1
jne 0x5c692c
mov dword [ebx + 0x2c], 0
mov dword [ebx + 0x30], 0
mov eax, dword [0x82b968]
test eax, eax
je 0x5c6925
mov eax, dword [ebx + 0x28]
call fcn.0046b930
mov dword [edi], eax
mov dword [ebx + 0x28], 0
movzx eax, byte [0x82b6e8]
test al, al
je 0x5c69fc
mov eax, dword [0x7e6eac]
mov ecx, dword [ebx + 0x30]
mov ebp, dword [ebx + 0x2c]
add ebp, eax
mov esi, dword [ebx + 0x28]
cmp ecx, ebp
jb 0x5c6954
mov eax, ebp
jmp 0x5c6986
mov dword [esp + 0x68], ebp
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
lea eax, [0x630ae0]
mov dword [esp + 0x10], eax
call fcn.00450140
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x68]
mov dword [esp + 0x6c], ebp
mov dword [esp + 0xa4], esi
mov dword [esp + 0x68], ecx
mov edx, dword [0x7e6eac]
sub eax, edx
lea eax, [esi + eax*2]
mov ebx, dword [0x7e6ea8]
mov dword [esp], eax
mov dword [esp + 4], ebx
shl edx, 1
mov dword [esp + 8], edx
call fcn.0046c2a0
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x94]
mov dword [ecx + 0x2c], eax
mov eax, dword [esp + 0x68]
mov dword [ecx + 0x30], eax
mov eax, dword [0x82b968]
test eax, eax
jne 0x5c69e0
mov edx, dword [esp + 0xa4]
jmp 0x5c69f4
call fcn.0046b940
mov edx, dword [esp + 0xa4]
mov dword [edi], edx
mov ebx, dword [ecx + 0x28]
mov dword [edi + 4], ebx
mov dword [ecx + 0x28], edx
jmp 0x5c6ab8
mov eax, dword [0x7e6ebc]
mov ecx, dword [ebx + 0x30]
mov ebp, dword [ebx + 0x2c]
add ebp, eax
mov esi, dword [ebx + 0x28]
cmp ecx, ebp
jb 0x5c6a15
mov eax, ebp
jmp 0x5c6a47
mov dword [esp + 0x68], ebp
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
lea eax, [0x630ae0]
mov dword [esp + 0x10], eax
call fcn.00450140
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x68]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x68], ebp
mov dword [esp + 0xa4], esi
mov edx, dword [0x7e6ebc]
sub eax, edx
lea eax, [esi + eax*2]
mov ebx, dword [0x7e6eb8]
mov dword [esp], eax
mov dword [esp + 4], ebx
shl edx, 1
mov dword [esp + 8], edx
call fcn.0046c2a0
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x94]
mov dword [ecx + 0x2c], eax
mov eax, dword [esp + 0x6c]
mov dword [ecx + 0x30], eax
mov eax, dword [0x82b968]
test eax, eax
jne 0x5c6aa1
mov edx, dword [esp + 0xa4]
jmp 0x5c6ab5
call fcn.0046b940
mov edx, dword [esp + 0xa4]
mov dword [edi], edx
mov ebx, dword [ecx + 0x28]
mov dword [edi + 4], ebx
mov dword [ecx + 0x28], edx
mov edx, dword [esp + 0x9c]
mov ebx, dword [edx + 0x9c]
test ebx, ebx
jne 0x5c6ad7
mov ebp, dword [0x7e6ef8]
mov ebx, dword [0x7e6efc]
jmp 0x5c6add
mov ebp, dword [edx + 0x98]
test ebx, ebx
jbe 0x5c6f82
movzx eax, word [ebp]
nop
cmp ax, 0x18
ja 0x5c6b01
cmp ax, 0x17
je 0x5c6b11
cmp ax, 0x18
je 0x5c6b11
jmp 0x5c6cf7
cmp ax, 0x19
je 0x5c6b11
cmp ax, 0x1d
jne 0x5c6cf7
mov ebx, dword [edx]
test ebx, ebx
je 0x5c6b1c
mov edx, dword [edx + 4]
jmp 0x5c6b28
mov ebx, dword [0x7ec610]
mov edx, dword [0x7ec614]
mov word [esp + 0x28], ax
mov dword [esp], ebx
mov dword [esp + 4], edx
mov word [esp + 8], ax
call fcn.005e7650
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x5c6cc8
mov eax, dword [esp + 0xc]
mov dword [esp + 0x90], eax
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 0
lea ecx, [0x5c7010]
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xb4], eax
test byte [eax], al
lea ecx, [eax + 0x1c]
mov dword [esp], ecx
lea ecx, [esp + 0xb0]
mov dword [esp + 4], ecx
call fcn.00475510
mov eax, dword [esp + 0x90]
mov ecx, dword [eax + 0x18]
mov dword [esp + 0x78], ecx
lea edx, [0x62d780]
mov dword [esp], edx
call fcn.0040d2d0
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 0xc]
mov edx, dword [esp + 4]
mov eax, dword [eax + 8]
cmp ecx, 0x85
ja 0x5c6bd2
mov ebx, ecx
mov ebp, 0x85
jmp 0x5c6c18
mov dword [esp + 0x64], ecx
mov dword [esp + 0xa0], eax
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x85
mov dword [esp + 0xc], ecx
lea eax, [0x630a60]
mov dword [esp + 0x10], eax
call fcn.00450140
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x64]
mov ebp, eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x70], edx
mov dword [esp + 0x34], ebp
mov dword [esp + 0x2c], ecx
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.0046c2a0
lea eax, [0x62d8c0]
mov dword [esp], eax
call fcn.0040d2d0
mov eax, dword [esp + 4]
movzx ecx, word [esp + 0x28]
mov word [eax], cx
mov ecx, dword [esp + 0x2c]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x34]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x82b968]
test ecx, ecx
jne 0x5c6c73
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x94]
jmp 0x5c6c91
call fcn.0046b950
mov ecx, dword [esp + 0x70]
mov dword [edi], ecx
mov dword [edi + 4], eax
mov edx, dword [esp + 0x94]
mov ebx, dword [edx + 0xc8]
mov dword [edi + 8], ebx
mov dword [eax + 4], ecx
mov dword [edx + 0xcc], 1
mov dword [edx + 0xd0], 1
mov dword [edx + 0xc8], eax
mov edx, dword [esp + 0xbc]
mov ebx, dword [esp + 0x94]
mov eax, dword [esp + 0x90]
jmp 0x5c6d4b
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], ecx
add esp, 0xb8
ret
lea eax, [0x639500]
mov dword [esp], eax
call fcn.0040d2d0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x30
lea ecx, [0x66f536]
mov dword [eax], ecx
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
lea ecx, [0x6b96cc]
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], eax
add esp, 0xb8
ret
xor eax, eax
mov ecx, dword [edx + 0x10]
test ecx, ecx
je 0x5c6dbd
mov dword [esp + 0x8c], eax
mov dword [esp], edx
call fcn.005e99a0
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x5c6de8
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5c6d83
xor edx, edx
xor ecx, ecx
lea eax, [0x82b6e0]
mov ebx, dword [esp + 0x94]
mov dword [ebx + 0x100], ecx
mov dword [ebx + 0x104], edx
mov ecx, dword [0x82b968]
test ecx, ecx
je 0x5c6db0
call fcn.0046b940
mov dword [edi], eax
mov ecx, dword [ebx + 0xfc]
mov dword [edi + 4], ecx
mov dword [ebx + 0xfc], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 0
add esp, 0xb8
ret
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], ecx
add esp, 0xb8
ret
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x20]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], 0
lea edx, [0x667a10]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x1b
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.00453bd0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x7c], ecx
lea edx, [0x639500]
mov dword [esp], edx
call fcn.0040d2d0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x3c]
mov dword [eax + 4], ecx
mov ecx, dword [0x82b968]
test ecx, ecx
jne 0x5c6e8a
mov ecx, dword [esp + 0x7c]
jmp 0x5c6e95
call fcn.0046b930
mov ecx, dword [esp + 0x7c]
mov dword [edi], ecx
mov dword [eax], ecx
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
lea ecx, [0x6b96cc]
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], eax
add esp, 0xb8
ret
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x20]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], 0
lea edx, [0x667a10]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x1b
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.00453bd0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x80], ecx
lea edx, [0x639500]
mov dword [esp], edx
call fcn.0040d2d0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x40]
mov dword [eax + 4], ecx
mov ecx, dword [0x82b968]
test ecx, ecx
jne 0x5c6f41
mov ecx, dword [esp + 0x80]
jmp 0x5c6f4f
call fcn.0046b930
mov ecx, dword [esp + 0x80]
mov dword [edi], ecx
mov dword [eax], ecx
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
lea ecx, [0x6b96cc]
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], eax
add esp, 0xb8
ret
xor eax, eax
mov ecx, eax
call fcn.0046b9b0
xor eax, eax
mov ecx, eax
call fcn.0046b9b0
lea eax, [ebx + 1]
mov ebx, dword [esp + 0x88]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x4c]
mov ebx, dword [esp + 0x6c]
cmp ebx, edx
jge 0x5c66ae
movzx eax, word [ebp + ebx*2]
cmp ax, di
jne 0x5c6f94
jmp 0x5c668d
lea edx, [edi + 1]
movzx edi, word [esp + 0x26]
mov dword [esp + 0x6c], edx
mov edx, dword [esp + 0x50]
mov edi, dword [esp + 0x6c]
cmp edi, ebp
jge 0x5c6fe9
mov edx, dword [ebx + edi*4]
cmp word [edx], ax
jne 0x5c6fc1
mov eax, edx
mov edx, dword [esp + 0x50]
jmp 0x5c6feb
xor eax, eax
mov ebp, dword [esp + 0x98]
movzx edi, word [esp + 0x26]
mov ebx, eax
mov eax, dword [esp + 0x4c]
jmp 0x5c66b0
call fcn.0046a530
jmp fcn.005c6110