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

Disassembly:
sub esp, 0x378
mov eax, dword [0x100a9450]
xor eax, esp
mov dword [esp + 0x374], eax
mov eax, dword [esp + 0x384]
push ebx
push ebp
push esi
push edi
mov esi, ecx
mov ecx, dword [esi + 4]
mov edi, edx
push edi
mov dword [esp + 0x30], esi
mov dword [esp + 0x38], edi
mov dword [esp + 0x2c], eax
call ecx
mov ecx, dword [esi]
add esp, 4
push edi
mov edi, dword [esp + 0x390]
push 0x100
mov ebp, eax
mov eax, dword [esp + 0x398]
lea edx, [esp + 0x288]
push edx
push eax
push edi
mov dword [esp + 0x44], ebp
call ecx
mov esi, eax
xor ebx, ebx
add esp, 0x14
cmp esi, ebx
mov dword [esp + 0x1c], esi
jge 0x100566c6
xor eax, eax
jmp 0x10056a27
cmp esi, 0xb
jle 0x1005671d
cmp byte [esp + 0x285], 0xff
jne 0x1005671d
cmp byte [esp + 0x286], 0x15
jne 0x1005671d
mov ecx, dword [ebp + 0xc4]
mov eax, dword [esp + 0x287]
cmp eax, ecx
jbe 0x1005671d
xor edx, edx
cmp edx, dword [esp + 0x390]
jb 0x1005671d
ja 0x10056701
cmp eax, edi
jbe 0x1005671d
mov edx, dword [ebp + 0xe0]
add edx, ecx
cmp eax, edx
jae 0x1005671d
mov ecx, dword [esp + 0x28]
mov dword [ecx], eax
mov eax, 1
jmp 0x10056a27
push 0x244
lea edx, [esp + 0x3c]
push ebx
push edx
call fcn.10072cc0
add esp, 0xc
mov byte [esp + 0xbc], 0x10
mov dword [esp + 0xca], ebx
mov dword [esp + 0xbd], ebx
mov dword [esp + 0xc1], ebx
call fcn.100642d9
mov dword [esp + 0x3e], eax
mov dword [esp + 0x38], 0x10002ce0
mov byte [esp + 0x3c], bl
mov byte [esp + 0x3d], bl
mov byte [esp + 0x42], bl
mov byte [esp + 0x4b], bl
mov byte [esp + 0xbc], 0x20
lea eax, [esp + 0x280]
mov dword [esp + 0x14], ebx
mov ebp, edi
mov dword [esp + 0x24], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x10], 1
jmp 0x100567a0
cmp dword [esp + 0x14], 0x40
jae 0x10056a1d
mov ecx, ebp
sub ecx, edi
add ecx, eax
add ecx, esi
lea esi, [esp + 0x38]
mov dword [esp + 0xbd], edi
mov dword [esp + 0xc1], ebx
mov dword [esp + 0x38], 0x10002cc0
mov dword [esp + 0x43], eax
mov dword [esp + 0x47], ecx
mov byte [esp + 0x3c], bl
mov byte [esp + 0x3d], bl
mov byte [esp + 0x42], bl
mov byte [esp + 0x4b], bl
mov byte [esp + 0x58], bl
mov byte [esp + 0x78], bl
call fcn.10002bf0
test eax, eax
je 0x10056a1d
mov eax, dword [esp + 0x4c]
cmp eax, ebx
je 0x1005680a
mov edx, esi
push edx
call eax
add esp, 4
movzx esi, byte [esp + 0x42]
cmp esi, ebx
je 0x10056a1d
mov eax, dword [esp + 0xca]
cmp eax, 0x119
jg 0x10056907
je 0x10056922
add eax, 0xffffffe2
cmp eax, 0xd4
ja case.0x10056844.31
movzx eax, byte [eax + 0x10056a50]
jmp dword [eax*4 + 0x10056a40]
mov eax, dword [esp + 0xce]
cmp eax, 0x90
jne 0x10056899
mov al, byte [esp + 0xd2]
cmp al, 8
je 0x10056888
cmp al, 0x10
je 0x10056877
cmp al, 0x20
je 0x100568f7
xor edi, edi
jmp 0x1005698c
movsx edx, word [esp + 0xd3]
add edx, esi
add edi, edx
jmp 0x1005698c
movsx eax, byte [esp + 0xd3]
add eax, esi
add edi, eax
jmp 0x1005698c
cmp eax, 0x8c
je 0x100568ab
cmp eax, 0x8d
jne 0x1005698c
mov eax, 1
cmp dword [esp + 0x20], eax
jne case.0x10056844.220
cmp dword [esp + 0x24], eax
ja case.0x10056844.220
mov edi, dword [esp + 0x38c]
add edi, 5
add dword [esp + 0x24], eax
mov dword [esp + 0x14], ebx
jmp 0x1005698c
cmp dword [esp + 0xce], 0x90
jne case.0x10056844.220
cmp dword [esp + 0x20], ebx
je 0x100568ef
mov dword [esp + 0x10], ebx
jmp 0x1005698c
mov dword [esp + 0x20], 1
mov ecx, dword [esp + 0xd3]
add ecx, esi
add edi, ecx
jmp 0x1005698c
cmp eax, 0x1a2
je 0x1005692b
cmp eax, 0x1b4
jle case.0x10056844.31
cmp eax, 0x1b6
jg case.0x10056844.31
mov dword [esp + 0x10], ebx
jmp 0x1005698c
lea eax, [esp + 0xe5]
jmp 0x10056932
lea eax, [esp + 0xce]
cmp dword [eax], 0x8d
jne case.0x10056844.31
cmp byte [eax + 4], 0x20
jne case.0x10056844.31
cmp dword [eax + 0xd], ebx
jne case.0x10056844.31
mov edx, dword [esp + 0x30]
mov eax, dword [eax + 5]
mov ecx, dword [edx + 0xc4]
cmp eax, ecx
jbe case.0x10056844.31
xor edx, edx
cmp edx, dword [esp + 0x390]
ja case.0x10056844.31
jb 0x1005696c
cmp eax, dword [esp + 0x38c]
jae case.0x10056844.31
mov edx, dword [esp + 0x30]
mov edx, dword [edx + 0xe0]
add edx, ecx
cmp eax, edx
jae case.0x10056844.31
mov ecx, dword [esp + 0x28]
inc dword [esp + 0x18]
mov dword [ecx], eax
mov dword [esp + 0x10], ebx
add edi, esi
inc dword [esp + 0x14]
cmp edi, ebp
jb 0x100569ad
mov edx, dword [esp + 0x1c]
lea eax, [edx + ebp - 0xf]
cmp edi, eax
jae 0x100569ad
mov ecx, edi
sub ecx, ebp
lea eax, [esp + ecx + 0x280]
jmp 0x10056a0e
mov edx, dword [esp + 0x390]
mov eax, dword [esp + 0x38c]
mov ecx, dword [esp + 0x34]
xor esi, esi
push esi
push edi
push edx
mov edx, dword [esp + 0x38]
push eax
mov eax, dword [edx + 0xc]
push ecx
call eax
add esp, 0x14
test eax, eax
je 0x100566bf
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x2c]
push ecx
mov ecx, dword [eax]
push 0x100
lea edx, [esp + 0x288]
push edx
push esi
push edi
mov ebp, edi
call ecx
add esp, 0x14
cmp eax, ebx
mov dword [esp + 0x1c], eax
jg 0x10056a07
mov dword [esp + 0x10], ebx
lea eax, [esp + 0x280]
cmp dword [esp + 0x10], ebx
je 0x10056a1d
mov esi, dword [esp + 0x1c]
jmp 0x100567a0
xor eax, eax
cmp dword [esp + 0x18], 1
sete al
mov ecx, dword [esp + 0x384]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.10063ade
add esp, 0x378
ret