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

Disassembly:
sub esp, 0x64
push ebx
mov ebx, dword [esp + 0x70]
push ebp
mov ebp, dword [esp + 0x70]
push esi
push edi
mov edi, dword [esp + 0x80]
mov ecx, dword [edi + 4]
mov eax, dword [edi + 8]
xor esi, esi
cmp ecx, eax
jae 0x10056ea0
push eax
push ecx
lea eax, [esp + 0x54]
push eax
call fcn.10056270
mov ecx, eax
add esp, 0xc
mov dword [esp + 0x20], ecx
test ecx, ecx
je case.0x10056ccb.7
mov eax, dword [esp + 0x50]
mov edx, eax
cmp eax, dword [esp + 0x54]
jae 0x10056e95
jmp 0x10056ac9
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x54]
push ecx
push edx
lea edx, [esp + 0x68]
push edx
call fcn.10056270
add esp, 0xc
mov dword [esp + 0x14], eax
test eax, eax
je case.0x10056ccb.7
mov edi, dword [esp + 0x68]
mov eax, dword [esp + 0x64]
push edi
push eax
lea ecx, [esp + 0x2c]
push ecx
call fcn.10056270
add esp, 0xc
test eax, eax
je case.0x10056ccb.7
push edi
push eax
lea edx, [esp + 0x40]
push edx
call fcn.10056270
add esp, 0xc
test eax, eax
je case.0x10056ccb.7
cmp dword [esp + 0x34], 0
jne case.0x10056ccb.7
movzx ecx, byte [esp + 0x31]
lea eax, [ecx - 1]
cmp eax, 0x1d
ja case.0x10056ccb.7
movzx eax, byte [eax + 0x10056ee0]
jmp dword [eax*4 + 0x10056eb8]
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
sub ecx, eax
cmp ecx, 1
je 0x10056b5e
xor eax, eax
jmp 0x10056c23
cmp byte [eax], 0
mov eax, str.TRUE
jne 0x10056b6d
mov eax, str.FALSE
push eax
call dword [0x100a300c]
add esp, 4
jmp 0x10056c23
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
call fcn.10056450
jmp 0x10056c23
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x2c]
inc eax
cmp eax, edi
jbe 0x10056baa
xor eax, eax
jmp 0x10056c23
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
call fcn.100563e0
jmp 0x10056c23
push 0x1008063c
call dword [0x100a300c]
add esp, 4
jmp 0x10056c23
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x2c]
push 1
push edx
call fcn.10056870
mov ebx, dword [esp + 0x84]
add esp, 8
jmp 0x10056c23
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
call fcn.100569e0
jmp 0x10056c23
mov eax, dword [esp + 0x2c]
mov edi, dword [esp + 0x28]
push eax
call fcn.100568f0
add esp, 4
jmp 0x10056c23
mov edx, dword [esp + 0x2c]
push edx
lea eax, [esp + 0x1c]
push eax
mov eax, dword [esp + 0x30]
call fcn.100564a0
xor ecx, ecx
add esp, 8
test eax, eax
sets cl
lea eax, [ecx - 1]
and eax, dword [esp + 0x18]
test eax, eax
je case.0x10056ccb.7
test esi, esi
je 0x10056c71
mov dl, byte [eax]
mov ecx, eax
cmp dl, 0x41
jl 0x10056c46
cmp dl, 0x5a
jg 0x10056c46
mov dl, byte [ecx + 1]
inc ecx
cmp dl, 0x41
jge 0x10056c38
cmp byte [ecx], 0
jne 0x10056c57
sub ecx, eax
cmp ecx, 2
mov ecx, 0x100856c8
jle 0x10056c5c
mov ecx, 0x100827f4
sub ecx, esi
mov edi, edi
cmp esi, ebx
jae 0x10056c6a
mov dl, byte [ecx + esi]
mov byte [esi + ebp], dl
inc esi
cmp byte [ecx + esi], 0
jne 0x10056c60
cmp byte [eax], 0
je 0x10056c91
mov ecx, eax
sub ecx, esi
lea ebx, [ebx]
cmp esi, ebx
jae 0x10056c8a
mov dl, byte [ecx + esi]
mov byte [esi + ebp], dl
inc esi
cmp byte [ecx + esi], 0
jne 0x10056c80
push eax
call dword [0x100a3004]
add esp, 4
cmp esi, ebx
jae 0x10056ca3
mov byte [esi + ebp], 0x3d
inc esi
cmp dword [esp + 0x48], 0
mov dword [esp + 0x10], esi
jne case.0x10056ccb.7
movzx ecx, byte [esp + 0x45]
lea eax, [ecx - 1]
cmp eax, 0x1d
ja case.0x10056ccb.7
movzx eax, byte [eax + 0x10056f28]
jmp dword [eax*4 + 0x10056f00]
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
sub ecx, eax
cmp ecx, 1
je 0x10056ce8
xor eax, eax
jmp 0x10056e57
cmp byte [eax], 0
mov eax, str.TRUE
jne 0x10056cf7
mov eax, str.FALSE
push eax
call dword [0x100a300c]
add esp, 4
jmp 0x10056e57
mov edi, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
mov edx, edi
xor ecx, ecx
sub edx, eax
jne 0x10056d1d
xor eax, eax
jmp 0x10056e57
cmp edx, 4
jbe 0x10056d2c
call fcn.100563e0
jmp 0x10056e57
test byte [eax], 0x80
je 0x10056d34
or ecx, 0xffffffff
movzx edx, byte [eax]
shl ecx, 8
inc eax
or ecx, edx
cmp eax, edi
jb 0x10056d34
mov eax, 0x1008c0f0
cmp ecx, 0xa
jae 0x10056d50
mov eax, 0x1008063c
push ecx
push eax
push str._s_x
call fcn.100251c0
add esp, 0xc
jmp 0x10056e57
mov eax, dword [esp + 0x3c]
mov edi, dword [esp + 0x40]
inc eax
cmp eax, edi
jbe 0x10056d80
xor eax, eax
jmp 0x10056e57
mov edi, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
call fcn.100563e0
jmp 0x10056e57
push 0x1008063c
call dword [0x100a300c]
add esp, 4
jmp 0x10056e57
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x40]
xor edi, edi
cmp ebx, ebp
jae 0x10056e05
push ebp
push ebx
push edi
push edi
call fcn.10056690
mov esi, eax
add esp, 0x10
test esi, esi
je 0x10056e01
lea eax, [esi + 1]
push eax
call dword [section..data]
mov edi, eax
add esp, 4
test edi, edi
je 0x10056e01
push ebp
push ebx
push esi
push edi
call fcn.10056690
add esp, 0x10
mov byte [esi + edi], 0
call fcn.10056380
mov esi, eax
test esi, esi
je 0x10056e01
push edi
call dword [0x100a3004]
mov ecx, dword [esi + 4]
push ecx
call dword [0x100a300c]
add esp, 8
mov edi, eax
mov esi, dword [esp + 0x10]
mov ebp, dword [esp + 0x78]
mov ebx, dword [esp + 0x7c]
mov eax, edi
jmp 0x10056e57
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
call fcn.100569e0
jmp 0x10056e57
mov edx, dword [esp + 0x40]
mov edi, dword [esp + 0x3c]
push edx
call fcn.100568f0
add esp, 4
jmp 0x10056e57
mov eax, dword [esp + 0x40]
push eax
mov eax, dword [esp + 0x40]
lea edx, [esp + 0x20]
push edx
call fcn.100564a0
xor ecx, ecx
add esp, 8
test eax, eax
sets cl
lea eax, [ecx - 1]
and eax, dword [esp + 0x1c]
test eax, eax
je case.0x10056ccb.7
cmp byte [eax], 0
mov ecx, eax
je 0x10056e72
cmp esi, ebx
jae 0x10056e6b
mov dl, byte [ecx]
mov byte [esi + ebp], dl
inc ecx
inc esi
cmp byte [ecx], 0
jne 0x10056e62
push eax
call dword [0x100a3004]
mov eax, dword [esp + 0x18]
add esp, 4
cmp eax, dword [esp + 0x54]
jb 0x10056ac5
mov edi, dword [esp + 0x80]
mov ecx, dword [esp + 0x20]
mov eax, dword [edi + 8]
cmp ecx, eax
jb 0x10056a96
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x64
ret
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x64
ret