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

Disassembly:
sub esp, 0x1f0
mov eax, dword [0x4f3480]
xor eax, esp
mov dword [esp + 0x1ec], eax
push ebx
mov ebx, dword [esp + 0x1fc]
push ebp
push esi
mov esi, dword [esp + 0x200]
push edi
push esi
mov dword [esp + 0x48], esi
mov ebp, dword [esi + 8]
mov edi, dword [ebp + 0x1c]
call fcn.00438ec0
push ebx
push esi
mov dword [esp + 0x4c], eax
call fcn.00438ea0
push 1
push 2
push 0
push 1
push 5
mov dword [esp + 0x38], eax
mov dword [esp + 0x30], 0
call fcn.00472750
add esp, 0x20
test al, al
je 0x4551b1
push 0x4d3d20
push ebx
call fcn.0043f710
add esp, 8
cmp dword [ebp + 0x18], 0
je 0x4551eb
push 0x4d3d98
push 0x4d3dac
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
jne 0x4551eb
push 3
push 2
push eax
push 3
push 6
call fcn.00472750
add esp, 0x14
test al, al
je 0x4551eb
mov al, 1
jmp 0x4551ed
xor al, al
mov byte [edi + 0x47], al
mov eax, dword [esp + 0x40]
cmp dword [eax + 4], 0
jne 0x455204
cmp dword [eax + 0x24], 0
jne 0x455204
xor al, al
jmp 0x455220
push 3
push 2
push 0
push 1
push 6
call fcn.00472750
add esp, 0x14
test al, al
je 0x455555
mov al, 1
mov byte [edi + 0x48], al
mov eax, dword [esp + 0x18]
mov dword [edi], 0
cmp byte [eax + 0x3c], 0
je 0x455269
push ebx
call fcn.004398f0
push 0
lea eax, [esp + 0x18]
push eax
push ebx
push esi
call fcn.004394a0
add esp, 0x14
test al, al
jne 0x45525b
mov eax, dword [esp + 0x10]
mov dword [edi], eax
mov eax, dword [esp + 0x10]
inc dword [eax + 0x18]
push ebx
call fcn.00439920
add esp, 4
cmp dword [edi], 0
jne 0x4552a3
push ebx
push esi
call fcn.00453f30
add esp, 8
mov dword [esp + 0x14], eax
test eax, eax
jne 0x455568
mov eax, dword [ebp + 0x10]
test eax, eax
jne 0x455289
mov eax, dword [ebp + 8]
push eax
call fcn.004b9027
mov ecx, dword [edi]
add esp, 4
mov dword [ecx + 0x10], eax
mov eax, dword [edi]
cmp dword [eax + 0x10], 0
je 0x4554d7
cmp byte [ebp + 0x14], 0
je 0x4552b7
push 0x4d3e20
push ebx
call fcn.0043f710
add esp, 8
cmp byte [edi + 0x47], 0
je 0x455382
mov dword [esp + 0x80], 2
lea eax, [esp + 0x54]
push dword [ebp + 0x18]
push eax
call fcn.00438450
add esp, 8
mov dword [esp + 0x14], eax
test eax, eax
je 0x4552f9
push 0x4d3e58
push ebx
call fcn.0043f640
mov eax, 0x23
jmp 0x455565
mov esi, dword [esp + 0x78]
lea eax, [esp + 0x54]
push esi
push eax
lea eax, [esp + 0x8e]
push eax
call fcn.0049ef50
add esi, 0xa
lea eax, [esi - 0xa]
push eax
call fcn.00441be0
mov word [esp + 0x94], ax
movzx eax, ax
add eax, 6
mov dword [esp + 0x2c], esi
mov dword [esp + 0x8c], eax
lea eax, [esp + 0x8c]
mov dword [esp + 0x34], eax
lea eax, [esp + 0x2c]
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x64]
mov dword [esp + 0x30], 0x12
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 1
push dword [ebp + 0x18]
push eax
call fcn.004384f0
lea eax, [esp + 0x6c]
push eax
push 0x4d3e6c
push ebx
call fcn.0043f710
add esp, 0x24
jmp 0x4553b2
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x3c], eax
mov dword [esp + 0x38], 1
lea eax, [esp + 0x28]
mov dword [esp + 0x28], 0
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 1
mov dword [edi + 0x38], 0x811c
cmp byte [eax + 0x67], 0
jne 0x4553fa
mov dword [edi + 0x38], 0x819c
push 0x10
push 1
call dword [0x4f3010]
mov edx, eax
add esp, 8
mov dword [edi + 4], edx
test edx, edx
jne 0x455425
push 0x4d39c0
push ebx
call fcn.0043f640
mov eax, 0x1b
jmp 0x455565
mov ecx, dword [edi]
lea eax, [edx + 8]
push eax
lea eax, [edi + 0x3c]
push eax
lea eax, [esp + 0x50]
push eax
push edx
xor edx, edx
lea eax, [esp + 0x44]
cmp byte [edi + 0x47], dl
push 0
cmove eax, edx
push eax
mov eax, dword [0x4f5570]
push edx
push edx
push dword [edi + 0x38]
mov eax, dword [eax + 0x18]
push dword [ecx + 0x10]
push edx
push ecx
call eax
mov esi, eax
cmp esi, 0x90312
je 0x4554e1
push dword [edi + 4]
call dword [0x4f3004]
add esp, 4
mov dword [edi + 4], 0
lea eax, [esp + 0xfc]
push 0x100
push eax
push esi
call fcn.0042dbc0
push eax
cmp esi, 0x80090300
je 0x4554c9
cmp esi, 0x80090322
je 0x4554b1
push 0x4d3e84
push ebx
call fcn.0043f640
add esp, 0x18
mov eax, 0x23
jmp 0x455568
push 0x4d3ebc
push ebx
call fcn.0043f640
add esp, 0x18
mov eax, 0x3c
jmp 0x455568
push 0x4d3e84
push ebx
call fcn.0043f640
add esp, 0x18
mov eax, 0x1b
jmp 0x455568
lea eax, [esp + 0x14]
push eax
push dword [esp + 0x2c]
mov eax, dword [esp + 0x4c]
push dword [esp + 0x38]
push ebx
push dword [eax + 4]
call fcn.0043ebc0
mov ecx, dword [0x4f5570]
add esp, 0x14
mov esi, eax
push dword [esp + 0x30]
mov ecx, dword [ecx + 0x40]
call ecx
cmp dword [esp + 0x14], 0
mov eax, dword [esp + 0x28]
jne 0x45553e
cmp eax, esi
jne 0x45553e
mov dword [edi + 0x40], 0
xor eax, eax
mov word [edi + 0x44], 0
mov byte [edi + 0x46], 0
mov byte [edi + 0x34], 0
mov dword [ebp + 4], 1
jmp 0x455568
push eax
push esi
push 0x4d3ef0
push ebx
call fcn.0043f640
add esp, 0x10
mov eax, 0x23
jmp 0x455568
push 0x4d3db8
push ebx
call fcn.0043f640
mov eax, 0x4d
add esp, 8
mov ecx, dword [esp + 0x1fc]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0049d2bd
add esp, 0x1f0
ret