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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xdc
mov eax, dword [0x4f8004]
xor eax, esp
mov dword [esp + 0xd8], eax
mov eax, dword [ebp + 0xc]
push ebx
mov ebx, dword [ebp + 0x10]
push esi
mov eax, dword [eax]
mov esi, ecx
mov ecx, dword [ebp + 0x14]
push edi
mov dword [esp + 0x70], eax
mov edi, edx
mov eax, dword [ebx]
push 0xffffffffffffffff
mov dword [esp + 0x70], ecx
push esi
mov ecx, dword [eax]
push eax
mov dword [esp + 0x24], ebx
call dword [ecx + 0x2c]
and dword [esp + 0x1c], 0
or eax, 0xffffffff
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x18]
mov dword [ebx + 0x1f64], esi
xor bl, bl
push esi
mov eax, dword [eax]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x14]
test eax, eax
jle 0x456c25
mov ecx, dword [esp + 0x18]
dec eax
push eax
mov ecx, dword [ecx]
push ecx
mov edx, dword [ecx]
call dword [edx + 0x24]
mov dword [esp + 0x10], eax
jmp 0x456c2a
and dword [esp + 0x10], 0
push 0xffffffffffffffff
push dword [esp + 0x1c]
lea ecx, [esp + 0x28]
push dword [ebp + 8]
push edi
push esi
call fcn.0042b794
mov edx, dword [esp + 0x3c]
cmp edx, dword [esp + 0x28]
jae 0x4570dd
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
cmp byte [esp + 0x4c], 0
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], esi
je 0x456c88
mov esi, dword [esp + 0x18]
push edx
mov eax, dword [esi]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x14]
mov ecx, dword [esi]
push edi
push eax
push ecx
mov edx, dword [ecx]
call dword [edx + 0x28]
and dword [esp + 0x1c], 0
or esi, 0xffffffff
jmp 0x456c8d
cmp esi, 0xffffffff
jne 0x456ca3
mov ecx, dword [esp + 0x58]
call fcn.0042b2b4
test al, al
cmove esi, dword [esp + 0x1c]
mov dword [esp + 0x14], esi
jmp 0x456ca7
mov ecx, dword [esp + 0x58]
cmp dword [esp + 0x50], 6
jne 0x456dac
cmp dword [esp + 0x54], 0x2e
jne 0x456d8a
cmp ecx, 0x2a
je 0x456d9a
cmp ecx, 0x2f
je 0x456d9a
cmp ecx, 0x5c
je 0x456d9a
cmp ecx, 0x5e
je 0x456d9a
cmp ecx, 0x27
jne 0x456d70
push 0
lea ecx, [esp + 0x24]
call fcn.0042b947
mov bl, 1
mov ecx, dword [esp + 0x58]
mov edi, dword [esp + 0x10]
cmp dword [esp + 0x50], 0
jne 0x4570b9
push ecx
call dword [esp + 0x70]
pop ecx
test al, al
je 0x457004
cmp dword [esp + 0x60], 0x7b
mov esi, dword [esp + 0x14]
jne 0x456d42
cmp esi, dword [esp + 0x1c]
jne 0x456d42
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x18]
lea ecx, [ecx + 2]
call fcn.00456b67
test al, al
je 0x456d42
inc edi
mov dword [esp + 0x10], edi
mov eax, dword [esp + 0x18]
push dword [esp + 0x3c]
mov eax, dword [eax]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x14]
mov ecx, dword [esp + 0x18]
push edi
push eax
mov ecx, dword [ecx]
push ecx
mov edx, dword [ecx]
call dword [edx + 0x28]
push 1
lea ecx, [esp + 0x24]
call fcn.0042b91d
jmp 0x4570bd
cmp ecx, 0x2e
jne 0x456d8a
cmp dword [esp + 0x60], ecx
jne 0x456d8a
mov dword [esp + 0x50], 1
xor bl, bl
jmp 0x4570c1
push 0
lea ecx, [esp + 0x24]
call fcn.0042b91d
jmp 0x456cf7
push 0
lea ecx, [esp + 0x24]
call fcn.0042b947
xor bl, bl
jmp 0x456cf7
cmp dword [esp + 0x50], 4
jne 0x456e10
push ecx
call fcn.00497940
pop ecx
test eax, eax
jne 0x456ffe
mov ecx, dword [esp + 0x58]
cmp ecx, 0x5f
je 0x456cfb
push 0x64
lea eax, [esp + 0x7c]
push eax
lea ecx, [esp + 0x28]
call fcn.00478c9a
mov ecx, dword [esp + 0x70]
lea eax, [esp + 0x78]
push eax
call fcn.00479026
lea ecx, [esp + 0x20]
push 0
test al, al
je 0x456dfe
call fcn.0042b91d
jmp 0x456da5
mov dword [esp + 0x54], 7
call fcn.0042b91d
jmp 0x456cf5
cmp dword [esp + 0x50], 3
jne 0x456e6d
push ecx
call fcn.00497a60
pop ecx
mov ecx, dword [esp + 0x58]
test eax, eax
jne 0x456cfb
cmp ecx, 0x2e
je 0x456cfb
cmp ecx, 0x65
je 0x456cfb
cmp ecx, 0x45
je 0x456cfb
cmp ecx, 0x2b
je 0x456e4f
cmp ecx, 0x2d
jne 0x456e65
cmp dword [esp + 0x54], 0x65
je 0x456cfb
cmp dword [esp + 0x54], 0x45
je 0x456cfb
push 0
lea ecx, [esp + 0x24]
jmp 0x456e06
cmp dword [esp + 0x50], 5
jne 0x456e92
cmp ecx, 0x27
jne 0x456cfb
cmp dword [esp + 0x60], 0x27
lea ecx, [esp + 0x20]
jne 0x456ec9
call fcn.0042b8bb
jmp 0x456cf7
cmp dword [esp + 0x50], 8
jne 0x456ed5
cmp ecx, 0x5c
jne 0x456ebc
cmp dword [esp + 0x60], 0x22
je 0x456eb6
cmp dword [esp + 0x60], 0x27
je 0x456eb6
cmp dword [esp + 0x60], ecx
jne 0x456cfb
lea ecx, [esp + 0x20]
jmp 0x456e88
cmp ecx, 0x22
jne 0x456cfb
lea ecx, [esp + 0x20]
push 0
call fcn.0042b947
jmp 0x456cf7
cmp dword [esp + 0x50], 2
jne 0x456ef2
cmp byte [esp + 0x4d], 0
je 0x456cfb
push 0
lea ecx, [esp + 0x24]
jmp 0x456df7
cmp dword [esp + 0x50], 1
jne 0x456cfb
push ecx
call dword [esp + 0x70]
mov edi, dword [esp + 0x20]
pop ecx
test al, al
je 0x456f6d
cmp dword [esp + 0x60], 0x7d
jne 0x456f6d
cmp esi, edi
mov esi, dword [esp + 0x18]
jne 0x456f71
mov ecx, dword [esp + 0x3c]
mov edx, esi
lea ecx, [ecx + 2]
call fcn.00456b67
test al, al
je 0x456f71
mov edi, dword [esp + 0x10]
test edi, edi
push dword [esp + 0x3c]
lea eax, [edi - 1]
cmovle eax, edi
mov edi, eax
mov eax, dword [esi]
push eax
mov dword [esp + 0x18], edi
mov ecx, dword [eax]
call dword [ecx + 0x14]
mov ecx, dword [esi]
push edi
push eax
push ecx
mov edx, dword [ecx]
call dword [edx + 0x28]
lea ecx, [esp + 0x20]
call fcn.0042b8bb
test edi, edi
jne 0x456fc7
push edi
lea ecx, [esp + 0x24]
call fcn.0042b947
jmp 0x456fc5
mov esi, dword [esp + 0x18]
push dword [esp + 0x58]
call dword [esp + 0x70]
pop ecx
test al, al
je 0x456fd0
cmp dword [esp + 0x60], 0x7b
jne 0x456fd0
cmp dword [esp + 0x14], edi
jne 0x456fd0
mov ecx, dword [esp + 0x3c]
mov edx, esi
lea ecx, [ecx + 2]
call fcn.00456b67
test al, al
je 0x456fd0
mov eax, dword [esi]
mov edi, dword [esp + 0x10]
push dword [esp + 0x3c]
inc edi
mov ecx, dword [eax]
push eax
mov dword [esp + 0x18], edi
call dword [ecx + 0x14]
mov ecx, dword [esi]
push edi
push eax
push ecx
mov edx, dword [ecx]
call dword [edx + 0x28]
lea ecx, [esp + 0x20]
call fcn.0042b8bb
xor bl, bl
mov ecx, dword [esp + 0x58]
jmp 0x456cff
mov edi, dword [esp + 0x10]
test edi, edi
jne 0x456fc7
cmp byte [esp + 0x4d], 0
jne 0x456ff1
mov ecx, dword [esp + 0x58]
cmp ecx, 0xd
je 0x456ff1
cmp ecx, 0xa
jne 0x456cff
push 0
lea ecx, [esp + 0x24]
call fcn.0042b91d
jmp 0x456fc5
mov edi, dword [esp + 0x10]
jmp 0x456fc7
mov eax, dword [esp + 0x58]
cmp eax, 0x21
jne 0x457028
cmp dword [esp + 0x60], 0x3d
je 0x457042
movzx eax, byte [ebp + 0x18]
xor eax, 1
lea eax, [eax*4 + 2]
push eax
jmp 0x4570b0
cmp eax, 0x27
jne 0x457039
xor eax, eax
test bl, bl
setne al
add eax, 5
jmp 0x457022
cmp eax, 0x22
jne 0x457042
push 8
jmp 0x4570b0
push eax
call fcn.00497a60
pop ecx
test eax, eax
jne 0x4570ae
mov eax, dword [esp + 0x58]
cmp eax, 0x2e
jne 0x457068
push dword [esp + 0x60]
call fcn.00497a60
pop ecx
test eax, eax
jne 0x4570ae
mov eax, dword [esp + 0x58]
push eax
call fcn.004979d0
pop ecx
test eax, eax
je 0x457077
push 4
jmp 0x4570b0
mov edx, dword [esp + 0x58]
movsx ecx, dl
call fcn.0042d082
test al, al
jne 0x457095
cmp edx, 0x40
je 0x457095
cmp edx, 0x5c
je 0x457095
xor bl, bl
jmp 0x4570b9
cmp edx, 0x29
je 0x4570a8
cmp edx, 0x5d
je 0x4570a8
cmp edx, 0x7d
je 0x4570a8
xor bl, bl
jmp 0x4570aa
mov bl, 1
push 6
jmp 0x4570b0
push 3
lea ecx, [esp + 0x24]
call fcn.0042b91d
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
lea ecx, [esp + 0x20]
call fcn.0042b8bb
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x3c]
inc eax
cmp edx, dword [esp + 0x28]
jb 0x456c58
lea ecx, [esp + 0x20]
call fcn.0042b897
mov ecx, dword [esp + 0xe4]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00486c63
mov esp, ebp
pop ebp
ret