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

Disassembly:
push ebp
push edi
push esi
xor esi, esi
push ebx
mov ebp, dword [esp + 0x18]
mov ecx, esi
mov ebx, esi
mov edi, dword [esp + 0x1c]
mov eax, dword [ebp]
mov edx, dword [edi]
mul edx
add esi, eax
adc ecx, edx
adc ebx, 0
mov eax, dword [esp + 0x14]
mov dword [eax], esi
xor esi, esi
mov eax, dword [ebp]
mov edx, dword [edi + 4]
mul edx
add ecx, eax
adc ebx, edx
adc esi, 0
mov eax, dword [ebp + 4]
mov edx, dword [edi]
mul edx
add ecx, eax
adc ebx, edx
adc esi, 0
mov eax, dword [esp + 0x14]
mov dword [eax + 4], ecx
xor ecx, ecx
mov eax, dword [ebp]
mov edx, dword [edi + 8]
mul edx
add ebx, eax
adc esi, edx
adc ecx, 0
mov eax, dword [ebp + 4]
mov edx, dword [edi + 4]
mul edx
add ebx, eax
adc esi, edx
adc ecx, 0
mov eax, dword [ebp + 8]
mov edx, dword [edi]
mul edx
add ebx, eax
adc esi, edx
adc ecx, 0
mov eax, dword [esp + 0x14]
mov dword [eax + 8], ebx
xor ebx, ebx
mov eax, dword [ebp]
mov edx, dword [edi + 0xc]
mul edx
add esi, eax
adc ecx, edx
adc ebx, 0
mov eax, dword [ebp + 4]
mov edx, dword [edi + 8]
mul edx
add esi, eax
adc ecx, edx
adc ebx, 0
mov eax, dword [ebp + 8]
mov edx, dword [edi + 4]
mul edx
add esi, eax
adc ecx, edx
adc ebx, 0
mov edx, dword [edi]
mov eax, dword [ebp + 0xc]
mul edx
add esi, eax
adc ecx, edx
adc ebx, 0
mov eax, dword [esp + 0x14]
mov dword [eax + 0xc], esi
xor esi, esi
mov eax, dword [ebp + 4]
mov edx, dword [edi + 0xc]
mul edx
add ecx, eax
adc ebx, edx
adc esi, 0
mov eax, dword [ebp + 8]
mov edx, dword [edi + 8]
mul edx
add ecx, eax
adc ebx, edx
adc esi, 0
mov eax, dword [ebp + 0xc]
mov edx, dword [edi + 4]
mul edx
add ecx, eax
adc ebx, edx
adc esi, 0
mov eax, dword [esp + 0x14]
mov dword [eax + 0x10], ecx
xor ecx, ecx
mov eax, dword [ebp + 8]
mov edx, dword [edi + 0xc]
mul edx
add ebx, eax
adc esi, edx
adc ecx, 0
mov eax, dword [ebp + 0xc]
mov edx, dword [edi + 8]
mul edx
add ebx, eax
adc esi, edx
adc ecx, 0
mov eax, dword [esp + 0x14]
mov dword [eax + 0x14], ebx
xor ebx, ebx
mov eax, dword [ebp + 0xc]
mov edx, dword [edi + 0xc]
mul edx
add esi, eax
adc ecx, edx
adc ebx, 0
mov eax, dword [esp + 0x14]
mov dword [eax + 0x18], esi
mov dword [eax + 0x1c], ecx
pop ebx
pop esi
pop edi
pop ebp
ret
push ebp
push edi
push esi
push ebx
sub esp, 0x3c
mov edi, dword [esp + 0x5c]
mov esi, dword [esp + 0x64]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x24], edi
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x18], edx
mov edi, dword [esp + 0x60]
cmp eax, 4
ja 0x4583ec
cmp ecx, 3
jbe 0x4583ec
cmp esi, 4
setbe bl
cmp edi, 3
mov ebp, ebx
seta bl
mov edx, ebp
test dl, bl
je 0x4583ec
cmp dword [esp + 0x18], 7
ja 0x458570
cmp eax, 6
ja 0x458411
cmp ecx, 5
jbe 0x458411
cmp esi, 6
setbe dl
cmp edi, 5
seta bl
test dl, bl
je 0x458411
cmp dword [esp + 0x18], 0xb
ja 0x458594
cmp eax, 8
ja 0x458470
cmp ecx, 7
jbe 0x458470
cmp edi, 7
seta dl
cmp dword [esp + 0x18], 0xf
seta bl
test dl, bl
je 0x458436
cmp esi, 8
jbe 0x4585c0
cmp ecx, 0xf
ja 0x45847a
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x60], esi
mov esi, dword [esp + 0x24]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x5c], esi
mov dword [esp + 0x50], eax
add esp, 0x3c
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00457d20
cmp eax, 0x10
ja 0x4584b5
cmp ecx, 0xf
jbe 0x4584b5
cmp edi, 0xf
seta cl
cmp dword [esp + 0x18], 0x1f
seta dl
test cl, dl
je 0x45843b
cmp esi, 0x10
ja 0x45843b
mov eax, dword [esp + 0x24]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x50], eax
add esp, 0x3c
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00456600
mov ebx, dword [esp + 0x28]
cmp esi, 0x1f
setbe dl
test ebx, ebx
sete bl
or dl, bl
jne 0x45843b
cmp eax, 0x1f
jbe 0x45843b
cmp eax, ecx
ja 0x45843b
cmp eax, edi
ja 0x45843b
cmp ecx, esi
jb 0x45843b
cmp esi, edi
ja 0x45843b
cmp eax, ecx
je 0x4585e4
cmp esi, edi
je 0x4585f1
cmp eax, esi
mov ebx, esi
mov edx, edi
cmovae ebx, eax
cmp ecx, edi
cmovbe edx, ecx
mov dword [esp + 0x2c], edx
cmp ebx, edx
je 0x458602
ja 0x45843b
mov edx, dword [esp + 0x18]
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x2c]
test bl, 1
jne 0x458560
lea ebp, [ebx + ebx]
cmp edx, ebp
jb 0x45843b
cmp eax, ebx
ja 0x458560
cmp ecx, ebx
jb 0x458560
cmp esi, ebx
ja 0x458560
cmp dword [esp + 0x18], ebx
jae 0x45865d
mov esi, esi
lea edi, [edi]
add ebx, 1
cmp ebx, edi
jbe 0x458531
jmp 0x45843b
mov eax, dword [esp + 0x24]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x50], eax
add esp, 0x3c
pop ebx
pop esi
pop edi
pop ebp
jmp 0x454cb0
mov eax, dword [esp + 0x24]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x50], eax
add esp, 0x3c
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00454ff0
mov eax, dword [esp + 0x24]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x50], eax
add esp, 0x3c
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.004555c0
test al, 1
je 0x4584fd
jmp 0x45843b
test esi, 1
je 0x458505
jmp 0x45843b
test bl, 1
jne 0x45843b
lea ebp, [ebx + ebx]
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x1c]
test ebp, ebp
jne 0x458640
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x54], edi
mov eax, esi
mov dword [esp + 0x50], ebx
add esp, 0x3c
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00457f10
lea eax, [ebx*8]
mov dword [esp + 4], 0
mov dword [esp + 8], eax
mov dword [esp], edi
call sub.msvcrt.dll_memset
jmp 0x45861a
mov ecx, ebx
and ecx, 3
cmp ecx, 2
jne 0x45867b
lea ecx, [ebx + 2]
cmp ecx, dword [esp + 0x2c]
ja 0x45860e
lea edi, [ecx + ecx]
cmp edx, edi
jb 0x45860e
mov ebp, edi
mov ebx, ecx
test ebx, ebx
jne 0x45860e
jmp 0x45843b