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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xd8
mov eax, dword [edx + 0x28]
cmp eax, 4
jbe 0x434517
mov eax, dword [edx + 4]
mov esi, dword [edx + 8]
jmp 0x43451a
lea esi, [edx + 8]
test eax, eax
mov dword [esp + 0x24], esi
mov dword [esp + 0x48], ecx
mov dword [esp + 0x44], edx
je 0x434935
mov edi, dword [ebp + 8]
mov esi, edi
or esi, dword [ebp + 0xc]
je 0x4349d0
mov ecx, dword [esp + 0x24]
mov ebx, dword [ebp + 0xc]
xor esi, esi
mov dword [esp], 0
lea ecx, [ecx + eax*8]
mov dword [esp + 4], esi
mov esi, dword [ecx - 8]
mov edx, dword [ecx - 4]
mov eax, edi
mov dword [esp + 0x4c], ecx
or eax, ebx
sete cl
mov eax, edx
mov dword [esp + 0x10], edx
mov dword [esp + 8], esi
mov edx, esi
mov esi, dword [esp + 4]
or eax, dword [esp]
or edx, esi
or edx, eax
sete al
bsr edi, edi
or al, cl
bsr ecx, ebx
xor edi, 0x1f
mov byte [esp + 0xc], al
mov eax, dword [esp]
xor ecx, 0x1f
add edi, 0x20
test ebx, ebx
mov ebx, esi
cmovne edi, ecx
bsr ecx, esi
xor ecx, 0x1f
add edi, 0x40
add ecx, 0x20
bsr edx, eax
xor edx, 0x1f
test eax, eax
mov eax, dword [esp + 0x10]
cmovne ecx, edx
bsr edx, dword [esp + 8]
bsr esi, eax
xor edx, 0x1f
xor esi, 0x1f
add edx, 0x20
test eax, eax
cmovne edx, esi
mov esi, ebx
add edx, 0x40
or esi, dword [esp]
mov esi, 0
cmovne edx, ecx
mov ecx, 0x7f
sub edi, edx
mov edx, 0
mov ebx, edi
sbb edx, edx
mov edi, 0
sbb edi, edi
mov dword [esp + 0x14], ebx
sbb esi, esi
cmp ecx, ebx
mov ecx, 0
mov ebx, eax
mov eax, 0
sbb ecx, edx
mov ecx, 0
sbb ecx, edi
mov ecx, 0
sbb ecx, esi
setb cl
or cl, byte [esp + 0xc]
mov ecx, dword [esp + 8]
cmovne ebx, eax
cmovne ecx, eax
jne 0x4348dc
mov eax, dword [esp + 0x14]
mov dword [esp + 0x20], edx
or edx, esi
mov dword [esp + 0x2c], edi
xor eax, 0x7f
or eax, edi
mov edi, ecx
or edx, eax
je 0x4348dc
mov eax, dword [esp + 8]
mov dword [esp + 0x90], eax
xor eax, eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 4]
mov dword [esp + 0x98], eax
mov eax, dword [esp]
mov dword [esp + 0x9c], eax
mov edx, dword [esp + 0x14]
mov eax, edx
xor al, 0x7f
mov ch, al
shr al, 3
and al, 0xf
and ch, 7
neg al
mov cl, ch
movsx eax, al
mov edi, dword [esp + eax + 0x98]
mov ebx, dword [esp + eax + 0x9c]
shld ebx, edi, cl
shl edi, cl
not cl
mov dword [esp + 0x40], ebx
mov dword [esp + 0x28], edi
mov ebx, dword [esp + eax + 0x94]
mov edi, dword [esp + eax + 0x90]
mov eax, edx
mov dword [esp + 0x1c], 0
mov edx, ebx
shr edx, 1
shr edx, cl
mov cl, ch
shld ebx, edi, cl
shl edi, cl
add eax, 1
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x20]
mov dword [esp + 0x14], eax
mov eax, 0
mov dword [esp + 0xc], ebx
adc edi, eax
adc dword [esp + 0x2c], eax
adc esi, eax
jae 0x434720
mov dword [esp + 4], 0
jmp 0x4348c6
xor eax, eax
or dword [esp + 0x28], edx
mov dword [esp + 0x7c], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x70], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 4]
mov dword [esp + 0x68], eax
mov eax, dword [esp]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x3c], esi
mov dword [esp + 0x20], edi
mov eax, dword [esp + 0x14]
mov ch, al
shr al, 3
and al, 0xf
and ch, 7
movzx edx, al
mov cl, ch
mov edi, dword [esp + edx + 0x68]
mov ebx, dword [esp + edx + 0x6c]
mov eax, edi
add edi, edi
shrd eax, ebx, cl
mov dword [esp + 0x34], eax
mov esi, dword [esp + edx + 0x64]
mov eax, esi
shr eax, cl
not cl
shl edi, cl
mov cl, ch
or edi, eax
shr ebx, cl
mov dword [esp + 0x38], edi
mov eax, dword [esp + edx + 0x60]
mov edx, dword [ebp + 8]
mov dword [esp + 0x1c], 0
mov dword [esp + 4], 0
shrd eax, esi, cl
mov ecx, dword [ebp + 0xc]
add edx, 0xffffffff
mov dword [esp + 0x5c], edx
mov edx, 0
mov dword [esp + 0x30], eax
adc ecx, 0xffffffff
mov dword [esp + 0x58], ecx
adc edx, 0xffffffff
mov ecx, 0
adc ecx, 0xffffffff
mov dword [esp + 0x54], edx
mov dword [esp + 0x50], ecx
mov esi, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
mov edi, dword [esp + 0x40]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 4]
mov dword [esp + 4], 0
shld ebx, esi, 1
shld esi, edx, 1
mov dword [esp], ebx
mov ebx, dword [esp + 0x30]
shld edx, ebx, 1
shld ebx, edi, 1
shld edi, eax, 1
or edi, ecx
mov dword [esp + 0x40], edi
mov edi, dword [esp + 0xc]
shld eax, edi, 1
or eax, ecx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x18]
shld edi, eax, 1
add eax, eax
or edi, ecx
or eax, dword [esp + 0x1c]
cmp dword [esp + 0x5c], ebx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0xc], edi
mov edi, dword [esp]
sbb ecx, edx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x18], eax
sbb ecx, esi
mov ecx, dword [esp + 0x50]
sbb ecx, edi
sar ecx, 0x1f
mov eax, ecx
and eax, 1
mov dword [esp + 0x1c], eax
mov eax, ecx
and ecx, dword [ebp + 8]
and eax, dword [ebp + 0xc]
sub ebx, ecx
mov ecx, dword [esp + 0x14]
sbb edx, eax
mov dword [esp + 0x30], ebx
mov eax, edi
mov ebx, dword [esp + 0x3c]
sbb esi, 0
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x34], esi
mov esi, dword [esp + 0x20]
sbb eax, 0
add ecx, 0xffffffff
mov dword [esp], eax
mov dword [esp + 0x14], ecx
adc esi, 0xffffffff
adc edx, 0xffffffff
mov dword [esp + 0x20], esi
adc ebx, 0xffffffff
or ecx, edx
mov dword [esp + 0x2c], edx
or esi, ebx
mov dword [esp + 0x3c], ebx
mov ebx, dword [esp]
or ecx, esi
jne 0x4347e0
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0x18]
shld ebx, ecx, 1
add ecx, ecx
or ebx, dword [esp + 4]
or ecx, dword [esp + 0x1c]
mov edi, dword [ebp + 8]
mov eax, ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x18], ecx
mov esi, dword [esp + 8]
mul edi
mov dword [esp], eax
mov eax, ecx
mov ecx, ebx
mov ebx, dword [ebp + 0xc]
imul ecx, edi
add ecx, edx
mov edx, eax
mov eax, dword [esp + 0x10]
imul edx, ebx
add edx, ecx
mov ecx, dword [esp + 0x4c]
add ecx, 0xfffffff8
sub esi, dword [esp]
sbb eax, edx
mov edx, esi
mov esi, dword [esp + 0x18]
cmp dword [esp + 0x24], ecx
mov dword [esp], eax
mov dword [ecx], esi
mov esi, dword [esp + 0xc]
mov dword [ecx + 4], esi
mov esi, edx
jne 0x43454f
jmp 0x434939
xor edx, edx
xor eax, eax
mov esi, dword [esp + 0x44]
mov dword [esp + 0x10], eax
mov dword [esp + 8], edx
lea edi, [esp + 0xa0]
mov ecx, 0xc
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0xa8]
mov edx, dword [ecx]
mov esi, dword [esp + 0xc8]
mov ebx, ecx
cmp esi, 5
mov edi, esi
jb 0x434975
mov edi, dword [esp + 0xa4]
mov ebx, edx
test edi, edi
je 0x4349a6
mov eax, dword [ebx + edi*8 - 8]
or eax, dword [ebx + edi*8 - 4]
jne 0x4349a6
cmp esi, 5
lea edi, [esp + 0xc8]
jb 0x43499d
mov esi, dword [esp + 0xa4]
lea edi, [esp + 0xa4]
test esi, esi
je 0x43495c
dec esi
mov dword [edi], esi
jmp 0x43495c
mov eax, dword [esp + 0x48]
lea esi, [esp + 0xa0]
mov ecx, 0xc
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 8]
mov dword [eax + 0x34], ecx
mov dword [eax + 0x30], edx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, str.attempt_to_divide_by_zero_____f__VjZ_KkV__P8Hv_PeL_jsAJ____A___RA1bU_fB__DeZ_5dNrqz___a_3___8J___U__B_K
mov edx, 0x19
push 0x47b258
call fcn.0046ea20