Function at 0x4584f0
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 0x45854c
cmp ecx, 3
jbe 0x45854c
cmp esi, 4
setbe bl
cmp edi, 3
mov ebp, ebx
seta bl
mov edx, ebp
test dl, bl
je 0x45854c
cmp dword [esp + 0x18], 7
ja 0x4586d0
cmp eax, 6
ja 0x458571
cmp ecx, 5
jbe 0x458571
cmp esi, 6
setbe dl
cmp edi, 5
seta bl
test dl, bl
je 0x458571
cmp dword [esp + 0x18], 0xb
ja 0x4586f4
cmp eax, 8
ja 0x4585d0
cmp ecx, 7
jbe 0x4585d0
cmp edi, 7
seta dl
cmp dword [esp + 0x18], 0xf
seta bl
test dl, bl
je 0x458596
cmp esi, 8
jbe 0x458720
cmp ecx, 0xf
ja 0x4585da
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.00457e80
cmp eax, 0x10
ja 0x458615
cmp ecx, 0xf
jbe 0x458615
cmp edi, 0xf
seta cl
cmp dword [esp + 0x18], 0x1f
seta dl
test cl, dl
je 0x45859b
cmp esi, 0x10
ja 0x45859b
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.00456760
mov ebx, dword [esp + 0x28]
cmp esi, 0x1f
setbe dl
test ebx, ebx
sete bl
or dl, bl
jne 0x45859b
cmp eax, 0x1f
jbe 0x45859b
cmp eax, ecx
ja 0x45859b
cmp eax, edi
ja 0x45859b
cmp ecx, esi
jb 0x45859b
cmp esi, edi
ja 0x45859b
cmp eax, ecx
je 0x458744
cmp esi, edi
je 0x458751
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 0x458762
ja 0x45859b
mov edx, dword [esp + 0x18]
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x2c]
test bl, 1
jne 0x4586c0
lea ebp, [ebx + ebx]
cmp edx, ebp
jb 0x45859b
cmp eax, ebx
ja 0x4586c0
cmp ecx, ebx
jb 0x4586c0
cmp esi, ebx
ja 0x4586c0
cmp dword [esp + 0x18], ebx
jae 0x4587bd
mov esi, esi
lea edi, [edi]
add ebx, 1
cmp ebx, edi
jbe 0x458691
jmp 0x45859b
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 0x454e10
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.00455150
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.00455720
test al, 1
je 0x45865d
jmp 0x45859b
test esi, 1
je 0x458665
jmp 0x45859b
test bl, 1
jne 0x45859b
lea ebp, [ebx + ebx]
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x1c]
test ebp, ebp
jne 0x4587a0
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.00458070
lea eax, [ebx*8]
mov dword [esp + 4], 0
mov dword [esp + 8], eax
mov dword [esp], edi
call sub.msvcrt.dll_memset
jmp 0x45877a
mov ecx, ebx
and ecx, 3
cmp ecx, 2
jne 0x4587db
lea ecx, [ebx + 2]
cmp ecx, dword [esp + 0x2c]
ja 0x45876e
lea edi, [ecx + ecx]
cmp edx, edi
jb 0x45876e
mov ebp, edi
mov ebx, ecx
test ebx, ebx
jne 0x45876e
jmp 0x45859b