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

Disassembly:
sub esp, 0x64
push ebx
mov ebx, dword [esp + 0x74]
push edi
cmp ebx, 0x300
jg 0x4554ce
je 0x4554be
cmp ebx, 0x100
je 0x4554c7
cmp ebx, 0x200
je 0x4554c7
pop edi
mov eax, 0xffffffe2
pop ebx
add esp, 0x64
ret
mov ebx, 0x100
mov dword [esp + 0x78], ebx
mov edi, 5
jmp 0x4554e6
cmp ebx, 0x3c00
je 0x4554e1
pop edi
mov eax, 0xffffffe2
pop ebx
add esp, 0x64
ret
mov edi, 6
mov eax, dword [esp + 0x74]
xor ecx, ecx
push ebp
xor ebp, ebp
mov dword [esp + 0x30], edi
mov dword [esp + 0x14], ebp
mov dword [esp + 0x10], ecx
push esi
test eax, eax
je 0x4559c9
cmp byte [eax], 0
je 0x4559c9
xor esi, esi
nop
lea eax, [esp + 0x13]
push eax
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x88]
push eax
call fcn.00457560
add esp, 0x10
cmp esi, edi
jge 0x455543
mov eax, dword [esp + 0x38]
mov dword [esp + esi*8 + 0x44], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + esi*8 + 0x48], eax
inc esi
cmp byte [esp + 0x13], 0x3a
je 0x455510
mov eax, esi
cmp esi, edi
jge 0x455575
jmp 0x455560
mov dword [esp + eax*8 + 0x48], 0
mov dword [esp + eax*8 + 0x44], 0
inc eax
cmp eax, edi
jl 0x455560
mov ecx, dword [esp + 0x44]
test ecx, ecx
je 0x455586
cmp byte [ecx], 0x23
je 0x4557cd
xor ebp, ebp
mov dword [esp + 0x1c], 0xffffffff
xor eax, eax
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], ebp
mov dword [esp + 0x20], ebp
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
cmp ebx, 0x3c00
je 0x4557e9
mov edx, dword [esp + 0x48]
sub edx, ecx
cmp byte [ecx], 0x64
jne 0x4555f4
cmp edx, 1
je 0x4555d8
cmp edx, 7
jb 0x4555f4
cmp dword [ecx + 1], 0x75616665
jne 0x4555f4
cmp word [ecx + 5], 0x746c
jne 0x4555f4
mov ebx, 0x200
cmp edx, 7
jbe 0x4555eb
add ecx, 7
mov dword [esp + 0x44], ecx
jmp 0x4555f4
mov ebp, 1
mov dword [esp + 0x24], ebp
mov eax, dword [esp + ebp*8 + 0x50]
lea edx, [esp + 0x1c]
push edx
lea ecx, [esp + 0x50]
mov dword [esp + 0x44], eax
lea ecx, [ecx + ebp*8]
mov ecx, dword [ecx]
push eax
push ecx
call fcn.00457340
add esp, 0xc
cmp dword [esp + 0x1c], 0xffffffff
jne 0x455637
lea eax, [ebp + 3]
cmp esi, eax
jle 0x455637
lea eax, [esp + 0x1c]
push eax
push dword [esp + ebp*8 + 0x64]
push dword [esp + ebp*8 + 0x64]
call fcn.00457340
add esp, 0xc
mov edx, dword [esp + 0x24]
xor ebp, ebp
mov ecx, dword [esp + edx*8 + 0x48]
mov eax, dword [esp + edx*8 + 0x44]
sub ecx, eax
je case.0x4557f7.7
movsx eax, byte [eax]
add eax, 0xffffff99
cmp eax, 0xe
ja case.0x455663.104
movzx eax, byte [eax + 0x455a38]
jmp dword [eax*4 + 0x455a24]
cmp ecx, 1
je 0x455686
cmp ecx, 4
jne case.0x455663.104
mov ecx, dword [esp + edx*8 + 0x44]
cmp word [ecx + 1], 0x6573
jne case.0x455663.104
cmp byte [ecx + 3], 0x72
jne case.0x455663.104
mov ebp, 0x2712
jmp case.0x455663.104
cmp ecx, 1
je 0x4556a4
cmp ecx, 5
jne case.0x455663.104
mov ecx, dword [esp + edx*8 + 0x44]
cmp dword [ecx + 1], 0x70756f72
jne case.0x455663.104
mov ebp, 0x2714
jmp case.0x455663.104
cmp ecx, 1
je 0x4556c2
cmp ecx, 5
jne case.0x455663.104
mov ecx, dword [esp + edx*8 + 0x44]
cmp dword [ecx + 1], 0x72656874
jne case.0x455663.104
mov ebp, 0x2716
jmp case.0x455663.104
cmp ecx, 1
je 0x4556e5
cmp ecx, 4
jne case.0x455663.104
mov ecx, dword [esp + edx*8 + 0x44]
cmp word [ecx + 1], 0x7361
jne case.0x455663.104
cmp byte [ecx + 3], 0x6b
jne case.0x455663.104
mov ebp, 0x2715
lea eax, [ebp - 0x2712]
cmp eax, 4
ja case.0x4557f7.7
jmp dword [eax*4 + 0x455a48]
mov ecx, dword [esp + edx*8 + 0x50]
lea eax, [edx + 2]
cmp esi, eax
jne 0x45573f
lea edi, [esp + 0x4c]
mov eax, dword [edi + edx*8]
lea edi, [edi + edx*8]
mov edi, dword [esp + 0x34]
cmp eax, ecx
jae 0x45573f
lea edx, [esp + 0x20]
push edx
push ecx
push eax
call fcn.00457400
mov edx, dword [esp + 0x30]
add esp, 0xc
test eax, eax
je 0x45573b
mov eax, 1
jmp 0x455756
mov ecx, dword [esp + 0x40]
lea eax, [edx + 3]
cmp esi, eax
jne 0x455752
lea esi, [esp + 0x4c]
cmp dword [esi + edx*8], ecx
lea esi, [esi + edx*8]
jb case.0x4557f7.7
mov eax, dword [esp + 0x28]
cmp dword [esp + 0x20], 0
jne 0x455965
jmp 0x4557a5
cmp dword [esp + 0x1c], 0xffffffff
jne 0x45577a
lea ecx, [esp + 0x4c]
mov eax, dword [ecx + edx*8]
lea ecx, [ecx + edx*8]
cmp eax, dword [esp + edx*8 + 0x50]
jae 0x4557a1
lea eax, [esp + 0x4c]
mov ecx, dword [eax + edx*8]
lea eax, [eax + edx*8]
mov eax, dword [eax + 4]
mov dword [esp + 0x2c], eax
xor eax, eax
cmp ebp, 0x2712
mov dword [esp + 0x30], ecx
setne al
lea ebp, [eax*2 + 0x2711]
mov eax, dword [esp + 0x28]
sub edx, eax
lea eax, [esp + 0x20]
push eax
push dword [esp + edx*8 + 0x5c]
push dword [esp + edx*8 + 0x5c]
call fcn.00457400
add esp, 0xc
test eax, eax
jne 0x455965
mov ebp, 0xffffffec
mov dword [esp + 0x18], ebp
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x4559c9
mov ebx, dword [esp + 0x80]
jmp 0x455504
mov eax, dword [esp + 0x48]
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 5
ja case.0x4557f7.7
jmp dword [eax*4 + 0x455a5c]
cmp dword [ecx], 0x72657375
jne case.0x4557f7.7
mov ebp, 0x2711
jmp 0x455820
cmp dword [ecx], 0x756f7267
jne case.0x4557f7.7
cmp byte [ecx + 4], 0x70
jne case.0x4557f7.7
mov ebp, 0x2713
mov eax, dword [esp + 0x50]
lea edx, [esp + 0x1c]
mov ecx, dword [esp + 0x4c]
mov esi, 1
push edx
push eax
push ecx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x38], eax
call fcn.00457340
add esp, 0xc
jmp 0x4558a6
cmp dword [ecx], 0x656e776f
jne 0x45585d
cmp word [ecx + 4], 0x4072
jne 0x45585d
mov ebp, 0x2712
jmp 0x4558a4
cmp dword [ecx], 0x756f7267
jne case.0x4557f7.7
cmp word [ecx + 4], 0x4070
jne case.0x4557f7.7
mov ebp, 0x2714
jmp 0x4558a4
cmp dword [ecx], 0x72657665
jne case.0x4557f7.7
cmp dword [ecx + 4], 0x656e6f79
jne case.0x4557f7.7
cmp byte [ecx + 8], 0x40
jne case.0x4557f7.7
mov ebp, 0x277b
xor esi, esi
lea eax, [esp + 0x20]
push eax
push dword [esp + esi*8 + 0x54]
push dword [esp + esi*8 + 0x54]
call fcn.004570e0
add esp, 0xc
test eax, eax
je case.0x4557f7.7
lea eax, [esp + 0x20]
push eax
push dword [esp + esi*8 + 0x5c]
push dword [esp + esi*8 + 0x5c]
call fcn.00456f20
add esp, 0xc
test eax, eax
je case.0x4557f7.7
mov eax, dword [esp + esi*8 + 0x60]
mov ecx, dword [esp + esi*8 + 0x5c]
sub eax, ecx
cmp eax, 4
jne 0x455902
cmp dword [ecx], 0x796e6564
jne case.0x4557f7.7
mov ebx, 0x800
jmp 0x455950
cmp eax, 5
jne case.0x4557f7.7
cmp dword [ecx], 0x6f6c6c61
jne 0x455920
cmp byte [ecx + 4], 0x77
jne 0x455920
mov ebx, 0x400
jmp 0x455950
cmp dword [ecx], 0x69647561
jne 0x455935
cmp byte [ecx + 4], 0x74
jne 0x455935
mov ebx, 0x1000
jmp 0x455950
cmp dword [ecx], 0x72616c61
jne case.0x4557f7.7
cmp byte [ecx + 4], 0x6d
jne case.0x4557f7.7
mov ebx, 0x2000
lea eax, [esp + 0x1c]
push eax
push dword [esp + esi*8 + 0x6c]
push dword [esp + esi*8 + 0x6c]
call fcn.00457340
add esp, 0xc
push dword [esp + 0x84]
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x30]
sub eax, ecx
push eax
push ecx
push dword [esp + 0x28]
push ebp
push dword [esp + 0x34]
push ebx
push dword [esp + 0x94]
call fcn.00455270
add esp, 0x20
cmp eax, 0xffffffec
jl 0x455a1c
test eax, eax
je 0x4559b6
mov ecx, dword [esp + 0x14]
mov ebp, 0xffffffec
or ecx, ebx
mov dword [esp + 0x18], ebp
mov dword [esp + 0x14], ecx
jmp 0x4557d1
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
or ecx, ebx
mov dword [esp + 0x14], ecx
jmp 0x4557d1
mov ebx, dword [esp + 0x78]
xor edx, edx
mov esi, dword [ebx + 4]
mov eax, esi
test eax, eax
je 0x4559f3
test dword [eax + 4], ecx
je 0x4559de
inc edx
mov eax, dword [eax]
test eax, eax
jne 0x4559d8
test edx, edx
jle 0x4559f3
test ecx, 0x100
je 0x4559f3
add edx, 3
and ecx, 0x100
mov dword [ebx + 8], esi
neg ecx
mov eax, ebp
sbb ecx, ecx
and ecx, 3
mov dword [esp + 0x14], ecx
xor ecx, ecx
cmp edx, dword [esp + 0x14]
setle cl
dec ecx
and ecx, 0x2712
mov dword [ebx + 0xc], ecx
pop esi
pop ebp
pop edi
pop ebx
add esp, 0x64
ret