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

Disassembly:
sub esp, 0x20
and dword [esp + 8], 0
cmp dword [esp + 0x24], 0
push ebx
push ebp
push esi
push edi
mov dword [esp + 0x1c], edx
mov dword [esp + 0x24], ecx
jbe 0x434750
mov esi, dword [esp + 0x4c]
mov edi, dword [esp + 0x48]
mov ebp, dword [esp + 0x3c]
mov al, byte [esp + 0x38]
test al, al
je 0x43442a
push esi
movzx edx, al
call fcn.0042c575
pop ecx
test eax, eax
je 0x43474c
mov edx, dword [esp + 0x1c]
jmp 0x43442d
and dword [esi], 0
xor eax, eax
mov ecx, ebp
test ebp, ebp
je 0x43443a
inc eax
shr ecx, 1
jne 0x434435
add eax, edx
add eax, dword [esp + 0x44]
cmp eax, 0x20
jbe 0x4345ef
cmp ebp, 8
jne 0x43445d
mov eax, dword [edi + 0x1c]
imul dword [esi - 0x20]
mov ecx, eax
mov ebx, edx
jmp 0x434552
cmp ebp, 7
jne 0x434471
mov eax, dword [edi + 0x18]
imul dword [esi - 0x1c]
mov ecx, eax
mov ebx, edx
jmp 0x43455c
cmp ebp, 3
jne 0x434485
mov eax, dword [edi + 8]
imul dword [esi - 0xc]
mov ecx, eax
mov ebx, edx
jmp 0x434584
cmp ebp, 6
jne 0x434499
mov eax, dword [edi + 0x14]
imul dword [esi - 0x18]
mov ecx, eax
mov ebx, edx
jmp 0x434566
cmp ebp, 5
jne 0x4344ad
mov eax, dword [edi + 0x10]
imul dword [esi - 0x14]
mov ecx, eax
mov ebx, edx
jmp 0x434570
cmp ebp, 4
jne 0x4344c1
mov eax, dword [edi + 0xc]
imul dword [esi - 0x10]
mov ecx, eax
mov ebx, edx
jmp 0x43457a
cmp ebp, 0xc
jne 0x4344dc
mov eax, dword [edi + 0x2c]
imul dword [esi - 0x30]
mov ecx, eax
mov ebx, edx
mov eax, dword [edi + 0x28]
imul dword [esi - 0x2c]
add ecx, eax
adc ebx, edx
jmp 0x434534
cmp ebp, 2
jne 0x4344f0
mov eax, dword [edi + 4]
imul dword [esi - 8]
mov ecx, eax
mov ebx, edx
jmp 0x43458e
cmp ebp, 1
jne 0x434503
mov eax, dword [edi]
imul dword [esi - 4]
mov ecx, eax
mov ebx, edx
jmp 0x4345db
cmp ebp, 0xa
jne 0x434514
mov eax, dword [edi + 0x24]
imul dword [esi - 0x28]
mov ecx, eax
mov ebx, edx
jmp 0x43453e
cmp ebp, 9
jne 0x434525
mov eax, dword [edi + 0x20]
imul dword [esi - 0x24]
mov ecx, eax
mov ebx, edx
jmp 0x434548
cmp ebp, 0xb
jne 0x434599
mov eax, dword [edi + 0x28]
imul dword [esi - 0x2c]
mov ecx, eax
mov ebx, edx
mov eax, dword [edi + 0x24]
imul dword [esi - 0x28]
add ecx, eax
adc ebx, edx
mov eax, dword [edi + 0x20]
imul dword [esi - 0x24]
add ecx, eax
adc ebx, edx
mov eax, dword [edi + 0x1c]
imul dword [esi - 0x20]
add ecx, eax
adc ebx, edx
mov eax, dword [edi + 0x18]
imul dword [esi - 0x1c]
add ecx, eax
adc ebx, edx
mov eax, dword [edi + 0x14]
imul dword [esi - 0x18]
add ecx, eax
adc ebx, edx
mov eax, dword [edi + 0x10]
imul dword [esi - 0x14]
add ecx, eax
adc ebx, edx
mov eax, dword [edi + 0xc]
imul dword [esi - 0x10]
add ecx, eax
adc ebx, edx
mov eax, dword [edi + 8]
imul dword [esi - 0xc]
add ecx, eax
adc ebx, edx
mov eax, dword [edi + 4]
imul dword [esi - 8]
add ecx, eax
adc ebx, edx
mov eax, dword [edi]
imul dword [esi - 4]
add ecx, eax
adc ebx, edx
jmp 0x4345db
and dword [esp + 0x20], 0
xorps xmm0, xmm0
movlpd qword [esp + 0x28], xmm0
mov ebx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
test ebp, ebp
jle 0x4345db
lea edx, [esi - 4]
mov esi, dword [esp + 0x20]
mov dword [esp + 0x14], edx
mov eax, dword [edi + esi*4]
imul dword [edx]
add ecx, eax
adc ebx, edx
mov edx, dword [esp + 0x14]
inc esi
sub edx, 4
mov dword [esp + 0x14], edx
cmp esi, ebp
jl 0x4345be
mov esi, dword [esp + 0x4c]
mov eax, ecx
mov edx, ebx
mov ecx, dword [esp + 0x40]
call fcn.004604f0
add dword [esi], eax
jmp 0x434729
lea eax, [ebp - 1]
xor edx, edx
cmp eax, 0x1f
ja case.default.0x4345fd
jmp dword [eax*4 + 0x43475b]
mov edx, dword [esi - 0x80]
imul edx, dword [edi + 0x7c]
mov eax, dword [esi - 0x7c]
imul eax, dword [edi + 0x78]
add edx, eax
mov eax, dword [esi - 0x78]
imul eax, dword [edi + 0x74]
add edx, eax
mov eax, dword [esi - 0x74]
imul eax, dword [edi + 0x70]
add edx, eax
mov eax, dword [esi - 0x70]
imul eax, dword [edi + 0x6c]
add edx, eax
mov eax, dword [esi - 0x6c]
imul eax, dword [edi + 0x68]
add edx, eax
mov eax, dword [esi - 0x68]
imul eax, dword [edi + 0x64]
add edx, eax
mov eax, dword [esi - 0x64]
imul eax, dword [edi + 0x60]
add edx, eax
mov eax, dword [esi - 0x60]
imul eax, dword [edi + 0x5c]
add edx, eax
mov eax, dword [esi - 0x5c]
imul eax, dword [edi + 0x58]
add edx, eax
mov eax, dword [esi - 0x58]
imul eax, dword [edi + 0x54]
add edx, eax
mov eax, dword [esi - 0x54]
imul eax, dword [edi + 0x50]
add edx, eax
mov eax, dword [esi - 0x50]
imul eax, dword [edi + 0x4c]
add edx, eax
mov eax, dword [esi - 0x4c]
imul eax, dword [edi + 0x48]
add edx, eax
mov eax, dword [esi - 0x48]
imul eax, dword [edi + 0x44]
add edx, eax
mov eax, dword [esi - 0x44]
imul eax, dword [edi + 0x40]
add edx, eax
mov eax, dword [esi - 0x40]
imul eax, dword [edi + 0x3c]
add edx, eax
mov eax, dword [esi - 0x3c]
imul eax, dword [edi + 0x38]
add edx, eax
mov eax, dword [esi - 0x38]
imul eax, dword [edi + 0x34]
add edx, eax
mov eax, dword [esi - 0x34]
imul eax, dword [edi + 0x30]
add edx, eax
mov eax, dword [esi - 0x30]
imul eax, dword [edi + 0x2c]
add edx, eax
mov eax, dword [esi - 0x2c]
imul eax, dword [edi + 0x28]
add edx, eax
mov eax, dword [esi - 0x28]
imul eax, dword [edi + 0x24]
add edx, eax
mov eax, dword [esi - 0x24]
imul eax, dword [edi + 0x20]
add edx, eax
mov eax, dword [esi - 0x20]
imul eax, dword [edi + 0x1c]
add edx, eax
mov eax, dword [esi - 0x1c]
imul eax, dword [edi + 0x18]
add edx, eax
mov eax, dword [esi - 0x18]
imul eax, dword [edi + 0x14]
add edx, eax
mov eax, dword [esi - 0x14]
imul eax, dword [edi + 0x10]
add edx, eax
mov eax, dword [esi - 0x10]
imul eax, dword [edi + 0xc]
add edx, eax
mov eax, dword [esi - 0xc]
imul eax, dword [edi + 8]
add edx, eax
mov eax, dword [esi - 8]
imul eax, dword [edi + 4]
add edx, eax
mov eax, dword [esi - 4]
imul eax, dword [edi]
add edx, eax
mov ecx, dword [esp + 0x40]
sar edx, cl
add dword [esi], edx
mov eax, dword [esp + 0x18]
add esi, 4
inc eax
mov dword [esp + 0x4c], esi
mov dword [esp + 0x18], eax
cmp eax, dword [esp + 0x34]
jae 0x434750
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
jmp 0x43440a
xor eax, eax
jmp 0x434753
xor eax, eax
inc eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret