Function at 0x4583b0
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 0x45840c
cmp ecx, 3
jbe 0x45840c
cmp esi, 4
setbe bl
cmp edi, 3
mov ebp, ebx
seta bl
mov edx, ebp
test dl, bl
je 0x45840c
cmp dword [esp + 0x18], 7
ja 0x458590
cmp eax, 6
ja 0x458431
cmp ecx, 5
jbe 0x458431
cmp esi, 6
setbe dl
cmp edi, 5
seta bl
test dl, bl
je 0x458431
cmp dword [esp + 0x18], 0xb
ja 0x4585b4
cmp eax, 8
ja 0x458490
cmp ecx, 7
jbe 0x458490
cmp edi, 7
seta dl
cmp dword [esp + 0x18], 0xf
seta bl
test dl, bl
je 0x458456
cmp esi, 8
jbe 0x4585e0
cmp ecx, 0xf
ja 0x45849a
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.00457d40
cmp eax, 0x10
ja 0x4584d5
cmp ecx, 0xf
jbe 0x4584d5
cmp edi, 0xf
seta cl
cmp dword [esp + 0x18], 0x1f
seta dl
test cl, dl
je 0x45845b
cmp esi, 0x10
ja 0x45845b
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.00456620
mov ebx, dword [esp + 0x28]
cmp esi, 0x1f
setbe dl
test ebx, ebx
sete bl
or dl, bl
jne 0x45845b
cmp eax, 0x1f
jbe 0x45845b
cmp eax, ecx
ja 0x45845b
cmp eax, edi
ja 0x45845b
cmp ecx, esi
jb 0x45845b
cmp esi, edi
ja 0x45845b
cmp eax, ecx
je 0x458604
cmp esi, edi
je 0x458611
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 0x458622
ja 0x45845b
mov edx, dword [esp + 0x18]
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x2c]
test bl, 1
jne 0x458580
lea ebp, [ebx + ebx]
cmp edx, ebp
jb 0x45845b
cmp eax, ebx
ja 0x458580
cmp ecx, ebx
jb 0x458580
cmp esi, ebx
ja 0x458580
cmp dword [esp + 0x18], ebx
jae 0x45867d
mov esi, esi
lea edi, [edi]
add ebx, 1
cmp ebx, edi
jbe 0x458551
jmp 0x45845b
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 0x454cd0
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.00455010
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.004555e0
test al, 1
je 0x45851d
jmp 0x45845b
test esi, 1
je 0x458525
jmp 0x45845b
test bl, 1
jne 0x45845b
lea ebp, [ebx + ebx]
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x1c]
test ebp, ebp
jne 0x458660
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.00457f30
lea eax, [ebx*8]
mov dword [esp + 4], 0
mov dword [esp + 8], eax
mov dword [esp], edi
call sub.msvcrt.dll_memset
jmp 0x45863a
mov ecx, ebx
and ecx, 3
cmp ecx, 2
jne 0x45869b
lea ecx, [ebx + 2]
cmp ecx, dword [esp + 0x2c]
ja 0x45862e
lea edi, [ecx + ecx]
cmp edx, edi
jb 0x45862e
mov ebp, edi
mov ebx, ecx
test ebx, ebx
jne 0x45862e
jmp 0x45845b