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

Disassembly:
sub esp, 0x84c
push ebx
push ebp
push esi
mov esi, dword [esp + 0x85c]
push edi
xor edi, edi
lea eax, [esi + esi*2]
lea eax, [eax + eax*8]
lea eax, [esi + eax*8]
lea ecx, [eax + eax*2]
mov eax, str.OZKS
lea ebx, [esi + ecx*2]
lea ebx, [ebx + ebx*4]
shl ebx, 5
mov ecx, dword [ebx + 0x6728cc]
lea ebp, [ebx + 0x6439f7]
neg ecx
sbb ecx, ecx
and ecx, 2
mov dword [esp + 0x30], ecx
mov dl, byte [ebp]
mov cl, dl
cmp dl, byte [eax]
jne 0x458ba9
test cl, cl
je 0x458ba5
mov dl, byte [ebp + 1]
mov cl, dl
cmp dl, byte [eax + 1]
jne 0x458ba9
add ebp, 2
add eax, 2
test cl, cl
jne 0x458b84
xor eax, eax
jmp 0x458bae
sbb eax, eax
sbb eax, 0xffffffff
mov ebp, dword [esp + 0x864]
test eax, eax
jne 0x458d61
mov eax, ebp
mov ecx, ebx
shl eax, 0xa
add ecx, eax
push 4
lea eax, [esp + 0x18]
lea edi, [ecx + ebp]
lea edx, [edi + 0x643de8]
push edx
push eax
call fcn.0045eb70
lea ecx, [esp + 0x20]
mov byte [esp + 0x24], 0
push ecx
call fcn.0045f57e
mov word [esp + 0x30], ax
lea edx, [edi + 0x643dec]
push 2
lea eax, [esp + 0x28]
push edx
push eax
call fcn.0045eb70
lea ecx, [esp + 0x30]
mov byte [esp + 0x32], 0
push ecx
call fcn.0045f57e
mov word [esp + 0x42], ax
lea edx, [edi + 0x643dee]
push 2
lea eax, [esp + 0x38]
push edx
push eax
call fcn.0045eb70
lea ecx, [esp + 0x40]
mov byte [esp + 0x42], 0
push ecx
call fcn.0045f57e
mov word [esp + 0x56], ax
lea edx, [edi + 0x643df0]
push 2
lea eax, [esp + 0x48]
push edx
push eax
call fcn.0045eb70
lea ecx, [esp + 0x50]
mov byte [esp + 0x52], 0
push ecx
call fcn.0045f57e
add esp, 0x40
mov word [esp + 0x28], ax
lea edx, [edi + 0x643df2]
lea eax, [esp + 0x14]
push 2
push edx
push eax
call fcn.0045eb70
lea ecx, [esp + 0x20]
mov byte [esp + 0x22], 0
push ecx
call fcn.0045f57e
mov word [esp + 0x3a], ax
lea edx, [edi + 0x643df4]
push 2
lea eax, [esp + 0x28]
push edx
push eax
call fcn.0045eb70
lea ecx, [esp + 0x30]
mov byte [esp + 0x32], 0
push ecx
call fcn.0045f57e
mov ecx, dword [esp + 0x44]
add esp, 0x10
mov word [esp + 0x3c], ax
mov eax, dword [esp + 0x30]
mov edx, esp
mov dword [edx], eax
mov eax, dword [esp + 0x38]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x3c]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
call fcn.0045a780
lea edx, [esp + 0x44]
push eax
push edx
call fcn.0045a920
lea eax, [esp + 0x4c]
push 4
push eax
lea eax, [esi + esi*2]
push 2
lea ecx, [eax + eax*8]
lea eax, [esi + ecx*8]
lea edx, [eax + eax*2]
lea eax, [esi + edx*2]
lea eax, [eax + eax*4]
lea ecx, [ebp + eax*8]
lea eax, [esp + 0x78]
mov edx, dword [ecx*4 + 0x654914]
push edx
push 1
push str._c_s000101TI_SE_c_s_____c
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
push 0xe
push 0x1f4
lea ecx, [esp + 0x494]
push 0x100
push ecx
lea edx, [esp + 0x98]
lea ecx, [esi + esi*4]
push 0x1c
push edx
lea eax, [ebx + 0x643900]
lea edx, [esi + ecx*2]
push eax
mov eax, dword [edx*8 + 0x45fb4d8]
push eax
call fcn.004031c0
mov edi, eax
add esp, 0x54
neg edi
sbb edi, edi
inc edi
mov dword [esp + 0x1c], 0x46f4c0
lea eax, [ebx + 0x6439f7]
mov cl, byte [eax]
mov edx, dword [esp + 0x1c]
mov byte [esp + 0x13], cl
cmp cl, byte [edx]
jne 0x458d9f
test cl, cl
je 0x458d9b
mov cl, byte [eax + 1]
mov byte [esp + 0x13], cl
cmp cl, byte [edx + 1]
jne 0x458d9f
add eax, 2
add edx, 2
test cl, cl
mov dword [esp + 0x1c], edx
jne 0x458d6f
xor eax, eax
jmp 0x458da4
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x458df3
mov dword [esp + 0x1c], 0x46f4bc
lea eax, [ebx + 0x6439f7]
mov cl, byte [eax]
mov edx, dword [esp + 0x1c]
mov byte [esp + 0x13], cl
cmp cl, byte [edx]
jne 0x458de6
test cl, cl
je 0x458de2
mov cl, byte [eax + 1]
mov byte [esp + 0x13], cl
cmp cl, byte [edx + 1]
jne 0x458de6
add eax, 2
add edx, 2
test cl, cl
mov dword [esp + 0x1c], edx
jne 0x458db6
xor eax, eax
jmp 0x458deb
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x458f2c
lea eax, [esi + esi*2]
lea eax, [eax + eax*8]
lea eax, [esi + eax*8]
lea ecx, [eax + eax*2]
lea eax, [esi + ecx*2]
lea edx, [eax + eax*4]
lea eax, [ebp + edx*8]
shl eax, 2
mov ecx, dword [eax + 0x6751bc]
test ecx, ecx
je 0x458e27
mov ecx, dword [eax + 0x67523c]
test ecx, ecx
je 0x458e27
mov ecx, 1
jmp 0x458e29
xor ecx, ecx
mov dword [ebx + 0x6751b8], ecx
mov ecx, dword [ebx + 0x6728cc]
test ecx, ecx
je 0x458e6e
mov ecx, ebp
mov eax, dword [eax + 0x654914]
shl ecx, 0xa
mov edx, ebx
push 3
add edx, ecx
dec eax
lea ecx, [edx + ebp + 0x643de8]
lea edx, [ebx + ebp*8]
push ecx
push eax
lea edi, [edx + ebp + 0x643cc8]
mov dword [esp + 0x28], ecx
push edi
push 2
push 1
push str._c01_c_s8_d_s_c__r
jmp 0x458ea0
mov edx, ebp
mov ecx, ebx
shl edx, 0xa
mov eax, dword [eax + 0x654914]
add ecx, edx
lea edx, [ebx + ebp*8]
push 3
lea ecx, [ecx + ebp + 0x643de8]
lea edi, [edx + ebp + 0x643cc8]
push ecx
push edi
push 2
push eax
push 1
mov dword [esp + 0x34], ecx
push str._c_02X_c_s_s_c__r
lea ecx, [esp + 0x70]
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x20
push edi
push ebp
push esi
call fcn.00455220
add esp, 0xc
push eax
push edi
push ebp
push esi
call fcn.004554d0
add esp, 0xc
or ecx, 0xffffffff
lea edx, [esp + 0x45c]
push eax
xor eax, eax
repne scasb al, byte es:[edi]
mov edi, dword [esp + 0x24]
push 0x100
not ecx
dec ecx
push edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x40]
not ecx
dec ecx
add eax, edx
lea edx, [ebx + 0x643900]
lea eax, [ecx + eax + 7]
lea ecx, [esp + 0x64]
push eax
lea eax, [esi + esi*4]
push ecx
push edx
lea ecx, [esi + eax*2]
mov edx, dword [ecx*8 + 0x45fb4d8]
push edx
call fcn.004031c0
add esp, 0x20
xor ecx, ecx
test eax, eax
setge cl
mov eax, ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x84c
ret
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x84c
ret