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

Disassembly:
push edi
push esi
push ebp
push ebx
sub esp, 0xc4
mov esi, ecx
mov ebp, edx
mov ebx, eax
test ebx, ebx
je 0x5c9ff7
test ebp, ebp
je 0x5c9ff7
movsx eax, word [ebx + 0x32c]
cmp eax, 3
jne 0x5c9e7f
mov edi, 1
jmp 0x5c9e81
xor edi, edi
test edi, edi
jne 0x5c9e97
cmp eax, 6
jne 0x5c9e91
mov edi, 1
jmp 0x5c9e93
xor edi, edi
test edi, edi
je 0x5c9eb1
test esi, esi
je 0x5c9ea1
mov dword [esi], 0
mov eax, 1
add esp, 0xc4
pop ebx
pop ebp
pop esi
pop edi
ret
mov edi, dword [0xa95624]
test edi, edi
je 0x5c9f2b
movzx eax, byte [ebp]
test eax, eax
je 0x5c9efc
cmp eax, 1
jne 0x5c9ef0
movzx edi, byte [ebp + 1]
cmp edi, 1
je 0x5c9ee9
cmp edi, 2
jne 0x5c9edd
mov ecx, 3
jmp 0x5c9f01
cmp edi, 3
jne 0x5c9f2f
mov ecx, 4
jmp 0x5c9f01
mov ecx, 2
jmp 0x5c9f01
cmp eax, 2
jne 0x5c9f2f
mov ecx, 5
jmp 0x5c9f01
mov ecx, 1
mov edi, dword [0xa8dafc]
test edi, edi
je 0x5c9f2f
mov edx, 1
shl edx, cl
test dword [edi + 0x1c], edx
je 0x5c9f1e
mov edi, 1
jmp 0x5c9f20
xor edi, edi
cmp edi, 1
je 0x5c9ffe
jmp 0x5c9f2f
movzx eax, byte [ebp]
xor edi, edi
test eax, eax
je 0x5ca135
cmp eax, 1
je 0x5ca00b
cmp eax, 2
je 0x5c9fb7
cmp eax, 3
jne 0x5c9fa1
movzx eax, byte [ebp + 1]
cmp eax, 2
jne 0x5c9f83
movsx ebx, byte [ebx + 0x961]
movzx eax, byte [ebp + 4]
push eax
push ebx
call fcn.005e5260
add esp, 8
movzx eax, al
cmp eax, 0xff
je 0x5c9f7c
movzx edx, byte [ebp + 2]
cmp eax, edx
jge 0x5c9fdd
mov edi, 1
jmp 0x5c9fdd
cmp eax, 8
jne 0x5c9fdd
mov eax, dword [ebx + 0x964]
test al, 0x10
jne 0x5c9f9a
test al, 8
jne 0x5c9fdd
test al, 4
jne 0x5c9fdd
mov edi, 1
jmp 0x5c9fdd
cmp eax, 4
jne 0x5c9fdd
mov eax, dword [ebp + 0x10]
cmp eax, 0xf423f
jle 0x5c9fdd
mov edi, 0x20
jmp 0x5c9fdd
mov ecx, ebp
call fcn.005d2890
test eax, eax
je 0x5c9fd8
movsx edx, word [eax + 0x18]
mov eax, ebx
call fcn.005ca3d9
test eax, eax
jne 0x5c9fdd
mov edi, 1
jmp 0x5c9fdd
mov edi, 0x20
test esi, esi
je 0x5c9fe3
mov dword [esi], edi
test edi, edi
jne 0x5c9ffe
mov eax, 1
add esp, 0xc4
pop ebx
pop ebp
pop esi
pop edi
ret
test esi, esi
je 0x5c9ffe
or dword [esi], 0x20
xor eax, eax
add esp, 0xc4
pop ebx
pop ebp
pop esi
pop edi
ret
movzx eax, byte [ebp + 1]
cmp eax, 3
je 0x5ca0bc
cmp eax, 3
je 0x5ca055
mov ecx, ebp
call fcn.005d2890
mov ebp, eax
test ebp, ebp
je 0x5ca050
movsx edx, word [ebp + 0x12]
mov eax, ebx
call fcn.005ca3d9
test eax, eax
jne 0x5ca03c
or edi, 1
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x38]
movzx edx, byte [ebp + 0x14]
cmp eax, edx
jge 0x5c9fdd
or edi, 0x10
jmp 0x5c9fdd
or edi, 0x20
jmp 0x5c9fdd
mov eax, dword [ebx + 0x964]
test al, 0x10
jne 0x5ca06f
test al, 8
jne 0x5c9fdd
test al, 4
jne 0x5c9fdd
movzx eax, byte [ebp + 2]
cmp eax, 0x4c
jne 0x5ca080
or edi, 1
jmp 0x5c9fdd
mov ecx, ebp
call fcn.005d2890
test eax, eax
je 0x5ca0b4
movsx eax, word [eax + 0xc]
cmp eax, 1
je 0x5ca0ac
cmp eax, 5
je 0x5ca0ac
cmp eax, 0x10
je 0x5ca0ac
cmp eax, 0x12
je 0x5ca0ac
cmp eax, 0x15
jne 0x5c9fdd
or edi, 1
jmp 0x5c9fdd
or edi, 0x20
jmp 0x5c9fdd
movzx edx, byte [ebp + 2]
cmp edx, 0x4f
jge 0x5ca0ec
cmp edx, 0x48
jne 0x5ca0f1
mov edx, dword [ebx + 0x964]
test dl, 0x20
jne 0x5ca018
test dl, 0x40
jne 0x5ca018
mov edi, 1
jmp 0x5ca018
cmp edx, 0x50
jle 0x5ca11c
cmp edx, 0x51
jne 0x5ca018
mov edx, dword [ebx + 0x964]
test dl, 0x20
jne 0x5ca018
test dl, 0x40
je 0x5ca018
mov edi, 1
jmp 0x5ca018
mov edx, dword [ebx + 0x964]
test dl, 0x20
jne 0x5ca018
mov edi, 1
jmp 0x5ca018
mov ecx, ebp
call fcn.005d2890
mov dword [esp + 0xc], eax
test eax, eax
je 0x5ca36a
push 6
lea ecx, [ebx + 0xdf8]
call fcn.0069792c
mov dword [esp + 8], eax
mov eax, dword [esp + 0xc]
movsx edx, word [eax + 0xc]
mov eax, ebx
call fcn.005ca3d9
test eax, eax
jne 0x5ca171
mov edi, 1
movzx edx, byte [ebp + 1]
cmp edx, 0xb2
je 0x5ca374
lea ebp, [esp + 0x10]
xor edx, edx
mov word [esp + 0x1a], dx
mov ecx, ebx
mov word [esp + 0x18], dx
mov word [esp + 0x16], dx
mov word [esp + 0x14], dx
mov word [esp + 0x12], dx
mov word [esp + 0x10], dx
mov word [esp + 0x24], dx
mov word [esp + 0x22], dx
mov word [esp + 0x20], dx
mov word [esp + 0x1e], dx
mov word [esp + 0x1c], dx
push ebp
call fcn.00695340
mov edx, dword [esp + 8]
test edx, edx
je 0x5ca32d
xor edx, edx
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], edx
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], edx
xor edx, edx
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], edx
mov dword [esp + 0x60], edx
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], edx
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], edx
mov dword [esp + 0x74], edx
xor edx, edx
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], edx
mov dword [esp + 0x80], edx
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], edx
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], edx
mov dword [esp + 0x94], edx
mov dword [esp + 0x98], edx
xor edx, edx
mov dword [esp + 0x9c], edx
mov dword [esp + 0xa0], edx
mov dword [esp + 0xa4], edx
mov dword [esp + 0xa8], edx
mov dword [esp + 0xac], edx
lea edx, [esp + 0xb0]
push edx
mov ecx, dword [esp + 0xc]
call fcn.005c425c
lea ecx, [esp + 0x28]
lea eax, [esp + 0x58]
lea ebp, [esp + 0x78]
lea edx, [esp + 0x9c]
push edx
push ebp
push eax
push ecx
push ebx
lea ecx, [esp + 0xc4]
call fcn.005d330c
movzx eax, word [esp + 0x10]
movzx edx, word [esp + 0x78]
movzx ebp, word [esp + 0x16]
movzx ebx, word [esp + 0x82]
sub eax, edx
movsx ecx, ax
movzx eax, word [esp + 0x7a]
sub ebp, ebx
movzx ebx, word [esp + 0x14]
movsx edx, bp
sub ebx, eax
movsx eax, bx
test ecx, ecx
jge 0x5ca2f1
xor ecx, ecx
test edx, edx
jge 0x5ca2f7
xor edx, edx
test eax, eax
jge 0x5ca2fd
xor eax, eax
mov ebx, dword [esp + 0xc]
movzx ebp, word [ebx + 0x12]
cmp ecx, ebp
jge 0x5ca30c
or edi, 2
movzx ebp, word [ebx + 0x16]
cmp edx, ebp
jge 0x5ca317
or edi, 4
mov edx, ebx
movzx ebx, word [edx + 0x14]
cmp eax, ebx
jge 0x5c9fdd
or edi, 8
jmp 0x5c9fdd
movsx edx, word [esp + 0x10]
mov eax, dword [esp + 0xc]
movzx ebx, word [eax + 0x12]
cmp edx, ebx
jge 0x5ca341
or edi, 2
movsx edx, word [esp + 0x16]
movzx ebx, word [eax + 0x16]
cmp edx, ebx
jge 0x5ca351
or edi, 4
movsx edx, word [esp + 0x14]
movzx ebx, word [eax + 0x14]
cmp edx, ebx
jge 0x5c9fdd
or edi, 8
jmp 0x5c9fdd
mov edi, 0x20
jmp 0x5c9fdd
mov edx, dword [0xa95df0]
test edx, edx
je 0x5ca181
mov ebp, dword [edx + 0x2b8]
test ebp, ebp
jne 0x5ca3aa
mov ebp, dword [edx + 0x2bc]
test ebp, ebp
jne 0x5ca3aa
mov ebp, dword [edx + 0x2c0]
test ebp, ebp
jne 0x5ca3aa
mov ebp, dword [edx + 0x2c4]
test ebp, ebp
je 0x5ca3b1
mov ebp, 1
jmp 0x5ca3b3
xor ebp, ebp
test ebp, ebp
je 0x5ca3c7
movzx edx, byte [edx + 0x2c8]
cmp edx, 0x40
je 0x5ca181
or edi, 1
jmp 0x5ca181