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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x74
call fcn.0051bfd7
mov eax, dword [ebp + 0x10]
push ebx
push esi
mov dword [eax], 0x32
push edi
mov edi, dword [ebp + 8]
mov ecx, dword [edi + 0x68]
xor esi, esi
lea eax, [edi + 0x164]
mov dword [edi + 0x160], esi
mov dword [eax], 0xffffffff
mov dword [ecx + 0x344], esi
mov edx, dword [edi + 0x68]
push 0x783
mov dword [esp + 0x20], eax
mov eax, dword [edx + 0x348]
push 0x10130ad0
push eax
mov dword [esp + 0x20], esi
call fcn.00476847
mov ecx, dword [edi + 0x68]
mov dword [ecx + 0x348], esi
mov edx, dword [edi + 0x68]
mov dword [edx + 0x34c], esi
mov eax, dword [edi + 0x68]
mov ecx, dword [eax + 0x350]
push 0x786
push 0x10130ad0
push ecx
call fcn.00476847
mov edx, dword [edi + 0x68]
mov dword [edx + 0x350], esi
mov eax, dword [edi + 0x68]
mov dword [eax + 0x354], esi
mov esi, dword [ebp + 0xc]
add esp, 0x18
test byte [edi + 0x12c], 0x40
je 0x456af9
mov ecx, esi
mov ebx, edi
call fcn.00453407
mov ecx, dword [edi + 0x68]
mov edx, dword [ecx + 0x268]
push 0x794
push 0x10130ad0
push edx
call fcn.00476847
mov ecx, dword [edi + 0x68]
xor eax, eax
mov dword [ecx + 0x268], eax
mov edx, dword [edi + 0x1fc]
lea ebx, [edi + 0x1fc]
push 0x799
push 0x10130ad0
push edx
mov dword [edi + 0x1e4], eax
mov dword [esp + 0x30], ebx
call fcn.00476847
add esp, 0x18
mov dword [ebx], 0
mov dword [edi + 0x1cc], 0
cmp dword [esi + 4], 0
je 0x4571e3
mov edx, dword [esi + 4]
mov eax, dword [esi]
cmp edx, 2
jb 0x456ba2
movzx ebx, byte [eax]
movzx ecx, byte [eax + 1]
shl ebx, 8
or ecx, ebx
sub edx, 2
add eax, 2
cmp edx, ecx
jb 0x456ba2
mov ebx, eax
add eax, ecx
sub edx, ecx
jne 0x456ba2
mov dword [esp + 0x2c], ecx
lea ecx, [esp + 0x28]
mov dword [esi], eax
mov dword [esi + 4], edx
mov dword [esp + 0x28], ebx
call fcn.004529e7
test eax, eax
jne 0x456bae
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp + 8]
mov edx, dword [esp + 0x2c]
cmp edx, 2
jb 0x4571cf
mov ecx, dword [esp + 0x28]
movzx esi, byte [ecx]
movzx eax, byte [ecx + 1]
shl esi, 8
add ecx, 2
sub edx, 2
or esi, eax
mov dword [esp + 0x78], ecx
cmp edx, 2
jb 0x456ba2
movzx eax, byte [ecx]
movzx ebx, byte [ecx + 1]
shl eax, 8
or eax, ebx
sub edx, 2
add ecx, 2
cmp edx, eax
jb 0x456ba2
mov ebx, ecx
add ecx, eax
mov dword [esp + 0x28], ecx
mov ecx, dword [edi + 0x154]
sub edx, eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], eax
test ecx, ecx
je 0x456c26
mov edx, dword [edi + 0x158]
push edx
push eax
push ebx
push esi
push 0
push edi
call ecx
mov ebx, dword [esp + 0x38]
add esp, 0x18
mov ecx, dword [esp + 0x24]
cmp esi, 0xff01
jne 0x456c59
mov eax, dword [ebp + 0x10]
push eax
lea ecx, [esp + 0x24]
push ecx
push edi
call fcn.0046bd97
add esp, 0xc
test eax, eax
je 0x456ba2
mov dword [esp + 0x14], 1
jmp 0x456bae
cmp dword [edi], 0x300
je 0x456bae
test esi, esi
jne 0x456d8f
mov dword [esp + 0x78], ebx
cmp ecx, 2
jb 0x456ba2
movzx eax, byte [ebx]
movzx edx, byte [ebx + 1]
shl eax, 8
or eax, edx
sub ecx, 2
add ebx, 2
cmp ecx, eax
jb 0x456ba2
mov edx, ebx
add ebx, eax
sub ecx, eax
jne 0x456ba2
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], eax
test eax, eax
je 0x456ba2
movzx ecx, byte [edx]
inc edx
dec eax
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], eax
test ecx, ecx
jne 0x456ba2
lea ebx, [esp + 0x38]
lea esi, [esp + 0x30]
call fcn.00451d67
test eax, eax
je 0x456ba2
cmp dword [edi + 0x78], 0
jne 0x456d3e
mov eax, dword [esp + 0x3c]
cmp eax, 0xff
ja 0x45717f
push eax
mov eax, dword [esp + 0x3c]
push 0
push eax
call fcn.00518ca7
add esp, 0xc
test eax, eax
jne 0x457191
mov esi, dword [edi + 0xf0]
add esi, 0xc4
mov edi, ebx
call fcn.0045e1e7
test eax, eax
je 0x4571bd
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x160], 1
mov edi, ecx
jmp 0x456bae
mov edx, dword [edi + 0xf0]
mov edx, dword [edx + 0xc4]
test edx, edx
je 0x456d82
mov eax, edx
lea esi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x456d57
sub eax, esi
push eax
push edx
lea ecx, [esp + 0x40]
call fcn.00451cb7
add esp, 8
test eax, eax
je 0x456d82
mov eax, 1
mov dword [edi + 0x160], eax
jmp 0x456bae
xor eax, eax
mov dword [edi + 0x160], eax
jmp 0x456bae
cmp esi, 0xc
jne 0x456de8
lea ebx, [esp + 0x40]
lea esi, [esp + 0x20]
call fcn.00451d37
test eax, eax
je 0x456ba2
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
push eax
push 0
push ecx
call fcn.00518ca7
add esp, 0xc
test eax, eax
jne 0x456ba2
mov esi, dword [esp + 0x18]
mov edi, ebx
call fcn.0045e1e7
test eax, eax
jne 0x456bab
mov ecx, dword [ebp + 0x10]
mov dword [ecx], 0x50
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp esi, 0xb
jne 0x456e4c
lea ebx, [esp + 0x58]
lea esi, [esp + 0x20]
call fcn.00451d37
test eax, eax
je 0x456ba2
cmp dword [esp + 0x5c], 0
je 0x456ba2
cmp dword [edi + 0x78], 0
jne 0x456bae
mov edi, dword [edi + 0xf0]
lea edx, [edi + 0xc8]
push edx
add edi, 0xcc
call fcn.004622a7
add esp, 4
test eax, eax
jne 0x456bab
mov edx, dword [ebp + 0x10]
mov dword [edx], 0x50
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp esi, 0xa
jne 0x456eac
lea ebx, [esp + 0x60]
lea esi, [esp + 0x20]
call fcn.00451d67
test eax, eax
je 0x456ba2
mov eax, dword [esp + 0x64]
test eax, eax
je 0x456ba2
test al, 1
jne 0x456ba2
cmp dword [edi + 0x78], 0
jne 0x456bae
mov edi, dword [edi + 0xf0]
lea eax, [edi + 0xd0]
push eax
add edi, 0xd4
call fcn.004622a7
add esp, 4
test eax, eax
je 0x4571bd
jmp 0x456bab
cmp esi, 0x23
jne 0x456ee6
mov eax, dword [edi + 0x1ac]
test eax, eax
je 0x456bae
mov edx, dword [edi + 0x1b0]
push edx
push ecx
push ebx
push edi
call eax
add esp, 0x10
test eax, eax
jne 0x456bae
mov ecx, dword [ebp + 0x10]
mov dword [ecx], 0x50
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp esi, 0xd
jne 0x456f32
lea ebx, [esp + 0x68]
lea esi, [esp + 0x20]
call fcn.00451d67
test eax, eax
je 0x456ba2
mov eax, dword [esp + 0x6c]
test al, 1
jne 0x456ba2
test eax, eax
je 0x456ba2
cmp dword [edi + 0x78], 0
jne 0x456bae
push eax
mov eax, dword [esp + 0x6c]
push eax
push edi
call fcn.00454ac7
add esp, 0xc
jmp 0x456b9e
cmp esi, 5
jne 0x45709f
mov esi, dword [esp + 0x1c]
lea ecx, [esp + 0x20]
push esi
push ecx
call fcn.0045e1b7
add esp, 8
test eax, eax
je 0x456ba2
cmp dword [esi], 1
jne 0x457094
lea ebx, [esp + 0x50]
lea esi, [esp + 0x20]
call fcn.00462337
test eax, eax
je 0x456ba2
mov edx, dword [edi + 0x184]
push 0x100781e0
push edx
call fcn.00476157
mov esi, dword [esp + 0x5c]
add esp, 8
test esi, esi
je 0x456fa4
call fcn.00475ff7
mov dword [edi + 0x184], eax
test eax, eax
je 0x456e3a
jmp 0x456fae
mov dword [edi + 0x184], 0
test esi, esi
je 0x457027
jmp 0x456fb7
lea ebx, [esp + 0x48]
lea esi, [esp + 0x50]
call fcn.00462337
test eax, eax
je 0x456ba2
mov ebx, dword [esp + 0x4c]
test ebx, ebx
je 0x456ba2
mov eax, dword [esp + 0x48]
push ebx
lea ecx, [esp + 0x10]
push ecx
push 0
mov dword [esp + 0x18], eax
call fcn.004816b7
mov esi, eax
add esp, 0xc
test esi, esi
je 0x456ba2
add ebx, dword [esp + 0x48]
push esi
cmp dword [esp + 0x10], ebx
jne 0x4571a3
mov eax, dword [edi + 0x184]
push eax
call fcn.00475cd7
add esp, 8
test eax, eax
je 0x4571b4
cmp dword [esp + 0x54], 0
ja 0x456fb7
lea ebx, [esp + 0x70]
lea esi, [esp + 0x20]
call fcn.00451d67
test eax, eax
je 0x456ba2
mov esi, dword [esp + 0x74]
test esi, esi
je 0x456bae
mov eax, dword [edi + 0x188]
mov ebx, dword [esp + 0x70]
push 0x10078850
push eax
mov dword [esp + 0x18], ebx
call fcn.00476157
push esi
lea ecx, [esp + 0x1c]
push ecx
push 0
call fcn.00481d87
add esp, 0x14
mov dword [edi + 0x188], eax
test eax, eax
je 0x456ba2
add esi, ebx
cmp dword [esp + 0x10], esi
je 0x456bae
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esi], 0xffffffff
jmp 0x456bae
cmp esi, 0x3374
jne 0x4570c2
mov eax, dword [edi + 0x68]
cmp dword [eax + 0x180], 0
jne 0x4570e9
mov dword [eax + 0x344], 1
jmp 0x456bae
cmp esi, 0x10
jne 0x4570e9
mov edx, dword [edi + 0x68]
cmp dword [edx + 0x180], 0
jne 0x4570e9
mov eax, dword [ebp + 0x10]
push eax
push edi
lea ecx, [esp + 0x28]
call fcn.00453247
add esp, 8
jmp 0x456b9e
mov edx, dword [edi + 4]
mov eax, dword [edx + 0x64]
test byte [eax + 0x34], 8
je 0x457132
push edi
call fcn.0046b7a7
add esp, 4
test eax, eax
je 0x45712a
cmp esi, 0xe
jne 0x45712a
mov ecx, dword [ebp + 0x10]
push ecx
lea edx, [esp + 0x24]
push edx
push edi
call fcn.0046b8c7
add esp, 0xc
test eax, eax
je 0x456bae
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x24]
mov ebx, dword [esp + 0x20]
cmp esi, 0x16
jne 0x457152
test dword [edi + 0x12c], 0x80000
jne 0x457152
mov dword [edi + 0x1e4], 1
jmp 0x456bae
cmp dword [edi + 0x78], 0
jne 0x456bae
mov eax, dword [ebp + 0x10]
push eax
push ecx
push ebx
push esi
push 1
push edi
call fcn.00458067
add esp, 0x18
test eax, eax
jg 0x456bae
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0x10]
mov dword [ecx], 0x70
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0x10]
mov dword [edx], 0x70
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.004816f7
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push esi
call fcn.004816f7
add esp, 4
mov eax, dword [ebp + 0x10]
mov dword [eax], 0x50
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0xc]
cmp dword [ecx + 4], 0
jne 0x456e3a
cmp dword [esp + 0x14], 0
jne 0x457228
cmp dword [edi + 0x1e8], 0
je 0x457228
test dword [edi + 0x12c], 0x40000
jne 0x457228
mov eax, dword [ebp + 0x10]
push 0x917
push 0x10130ad0
push 0x152
push 0x140
push 0x14
mov dword [eax], 0x28
call fcn.0046f297
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret