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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x450
mov edi, dword [ebp + 0x14]
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x14], edx
mov edx, dword [ebp + 8]
mov esi, dword [ebp + 0x10]
mov dword [esp + 0xc], ecx
cmp eax, edi
mov ecx, edi
cmova ecx, eax
cmovb edi, eax
mov dword [esp + 0x24], ecx
mov ecx, edx
cmovb ecx, esi
cmovb esi, edx
cmp edi, 0x21
mov dword [esp + 0x34], ecx
jae 0x47f856
lea eax, [esi + edi*8]
xor edi, edi
mov dword [esp + 0xd0], eax
cmp esi, dword [esp + 0xd0]
je 0x4803cb
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
lea ebx, [esi + 8]
push 0x6435f0
push edi
inc edi
call fcn.0047e459
pop ecx
pop ecx
mov dword [esp + 4], edx
mov ecx, dword [esi]
mov edx, dword [esi + 4]
mov esi, ebx
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xe0], ecx
or ecx, edx
mov dword [esp + 0x18], edx
je 0x47f687
lea ecx, [esp + 0x70]
mov edx, eax
mov dword [esp + 0xd4], edi
push 0x6435a8
mov edi, dword [esp + 0x28]
push edi
push dword [esp + 0xc]
call fcn.0047eab1
add esp, 0xc
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x74]
mov esi, dword [esp + 0x7c]
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x78]
cmp ecx, edi
mov dword [esp + 0x10], esi
cmovae ecx, edi
xor ebx, ebx
xor edx, edx
mov dword [esp + 0xe4], ecx
xor ecx, ecx
mov dword [esp + 0x1c], eax
xor eax, eax
cmp dword [esp + 0xe4], ebx
mov dword [esp + 8], 0
je 0x47f7eb
mov esi, dword [esp + 0x34]
mov dword [esp + 4], ecx
mov edi, dword [esp + 0xe0]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x38], edx
mov ecx, dword [esi + ebx*8]
mov eax, ecx
mul edi
mov dword [esp + 0x20], eax
mov eax, dword [esi + ebx*8 + 4]
mov dword [esp + 0x30], edx
mov dword [esp + 0x2c], eax
mul edi
mov esi, eax
mov edi, edx
mov eax, ecx
add esi, dword [esp + 0x30]
adc edi, 0
mul dword [esp + 0x18]
add eax, esi
mov ecx, edx
mov esi, dword [esp + 0xdc]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x2c]
adc ecx, edi
mov edi, dword [esp + 0x3c]
setb byte [esp + 0x28]
mul dword [esp + 0x18]
add eax, ecx
movzx ecx, byte [esp + 0x28]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 4]
adc edx, ecx
mov ecx, dword [esp + 0x38]
add eax, dword [esi + ebx*8]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 8]
adc ecx, dword [esi + ebx*8 + 4]
adc edx, 0
adc edi, 0
add eax, dword [esp + 0x20]
adc ecx, dword [esp + 0x30]
mov dword [esi + ebx*8], eax
mov eax, edi
adc edx, dword [esp + 0x2c]
mov dword [esi + ebx*8 + 4], ecx
lea ebx, [ebx + 1]
adc eax, dword [esp + 0x28]
mov ecx, edx
mov edx, eax
jmp 0x47f722
mov edi, dword [esp + 8]
shl dword [esp + 0x10], 3
mov ebx, eax
mov eax, ecx
mov dword [esp + 4], ecx
mov ecx, edx
mov esi, edi
or eax, edi
or ecx, ebx
mov edi, edx
mov edx, ebx
or ecx, eax
je 0x47f843
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x4803d3
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 4]
add dword [eax], edx
adc dword [eax + 4], edi
lea eax, [eax + 8]
mov dword [esp + 0x1c], eax
adc esi, 0
adc ebx, 0
add ecx, 0xfffffff8
xor edi, edi
mov dword [esp + 0x10], ecx
mov edx, ebx
mov ecx, esi
xor ebx, ebx
jmp 0x47f7f6
mov esi, dword [esp + 0xd8]
mov edi, dword [esp + 0xd4]
jmp 0x47f687
cmp edi, 0x101
mov dword [esp + 4], edi
jae 0x47fb33
mov eax, edi
mov ebx, edi
lea edi, [esp + 0x70]
mov edx, esi
shr eax, 1
mov ecx, edi
mov dword [esp + 8], eax
push 0x643600
push eax
push ebx
call fcn.0047ec57
add esp, 0xc
mov edx, dword [edi + 4]
mov eax, dword [edi]
mov ecx, dword [edi + 8]
mov ebx, dword [edi + 0xc]
lea esi, [esp + 0x70]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x34]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x1c], eax
mov ecx, esi
push 0x643610
push dword [esp + 0xc]
push dword [esp + 0x2c]
call fcn.0047ec57
add esp, 0xc
mov eax, dword [esi]
mov edi, dword [esi + 8]
lea ecx, [esp + 0xa0]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x10], eax
mov eax, dword [esi + 4]
mov dword [esp + 0x2c], edi
mov dword [esp + 0x18], eax
mov eax, dword [esi + 0xc]
lea edx, [ebx + eax + 1]
mov esi, eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x38], edx
call fcn.0047e4bd
lea ecx, [esp + 0xa0]
call fcn.0047e3ee
mov ecx, eax
push esi
push edi
push ebx
push dword [esp + 0x48]
call fcn.0047f635
add esp, 0x10
lea esi, [esp + 0xa0]
mov ecx, esi
call fcn.0047e0f8
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
push 0x643620
push dword [esp + 0xc]
call fcn.0047e459
pop ecx
pop ecx
mov ecx, esi
mov edi, eax
mov ebx, edx
call fcn.004097da
mov esi, edx
mov ecx, edi
mov edx, ebx
push esi
push eax
call fcn.0047e9d6
pop ecx
pop ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
and eax, 0xfffffffe
push 0x643630
push eax
call fcn.0047e459
pop ecx
pop ecx
lea esi, [esp + 0xa0]
mov dword [esp + 4], eax
mov edi, edx
mov ecx, esi
call fcn.004097da
mov ecx, dword [esp + 4]
mov ebx, edx
mov edx, edi
push ebx
push eax
call fcn.0047e9d6
pop ecx
pop ecx
mov ecx, esi
xor edx, edx
call fcn.0047e49e
mov edx, dword [esp + 0x38]
mov ecx, esi
call fcn.0047d9e0
mov ecx, esi
call fcn.0047e3ee
mov ecx, eax
push dword [esp + 0x18]
push dword [esp + 0x14]
push dword [esp + 0x28]
push dword [esp + 0x28]
call fcn.0047f635
add esp, 0x10
mov ecx, esi
call fcn.0047e0f8
mov ecx, esi
call fcn.004097da
mov edi, dword [esp + 0xc]
mov ebx, dword [esp + 0x14]
mov esi, edx
mov ecx, edi
mov edx, ebx
push esi
push eax
call fcn.0047e9d6
pop ecx
pop ecx
mov ecx, edi
mov edx, ebx
push 0x643640
push dword [esp + 0xc]
call fcn.0047e459
pop ecx
pop ecx
lea ecx, [esp + 0xa0]
mov esi, eax
mov edi, edx
call fcn.004097da
mov ebx, edx
mov ecx, esi
mov edx, edi
push ebx
push eax
call fcn.0047e9d6
pop ecx
pop ecx
mov edx, dword [esp + 0x3c]
lea esi, [esp + 0x70]
mov ecx, esi
push dword [esp + 0x20]
push dword [esp + 0x20]
push dword [esp + 0x30]
call fcn.004809b2
add esp, 0xc
mov ebx, dword [esi]
lea esi, [esp + 0x78]
push 0xa
pop ecx
lea edi, [esp + 0xe8]
rep movsd dword es:[edi], dword [esi]
lea esi, [esp + 0x70]
mov edx, dword [esp + 0x2c]
mov ecx, esi
push dword [esp + 0x18]
push dword [esp + 0x14]
push dword [esp + 0x38]
call fcn.004809b2
add esp, 0xc
mov edx, dword [esi]
lea esi, [esp + 0x78]
lea edi, [esp + 0x40]
push 0xa
pop ecx
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
call fcn.0047d092
test al, al
je 0x47ff67
movzx eax, al
cmp eax, 1
je 0x47ffb6
lea esi, [esp + 0xa0]
xor edx, edx
mov ecx, esi
call fcn.0047e49e
mov edx, dword [esp + 0x38]
mov ecx, esi
call fcn.0047d9e0
mov ecx, esi
call fcn.0047e3ee
lea ecx, [esp + 0xe8]
mov dword [esp + 4], eax
mov dword [esp + 0x10], edx
call fcn.004097da
lea ecx, [esp + 0x40]
mov esi, eax
mov edi, edx
call fcn.004097da
mov ebx, edx
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x10]
push ebx
push eax
push edi
push esi
call fcn.0047f635
add esp, 0x10
lea ebx, [esp + 0xa0]
mov ecx, ebx
call fcn.0047e0f8
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
push 0x643660
push dword [esp + 0xc]
call fcn.0047e459
pop ecx
pop ecx
mov ecx, ebx
mov esi, eax
mov edi, edx
call fcn.004097da
mov ebx, edx
mov ecx, esi
mov edx, edi
push ebx
push eax
call fcn.0047eae2
pop eax
pop ecx
jmp 0x47ffb6
push 3
pop ebx
mov ecx, dword [esp + 0x24]
xor edx, edx
mov eax, ecx
div ebx
lea ebx, [eax + 1]
mov dword [esp + 8], eax
mov eax, edi
cmp edi, ebx
mov edx, ebx
cmovb edx, edi
sub eax, edx
mov dword [esp + 0x1c], edx
mov edx, edi
cmp eax, ebx
cmovae eax, ebx
sub ecx, ebx
cmp ecx, ebx
mov dword [esp + 0x18], eax
cmovae ecx, ebx
mov dword [esp + 0x10], ecx
mov ecx, esi
push 0x643670
mov edi, dword [esp + 0x20]
push edi
call fcn.0047e344
pop ecx
pop ecx
mov dword [esp + 0x20], edx
lea ecx, [esp + 0x178]
mov edx, eax
push dword [esp + 0x20]
call 0x4803e5
pop eax
mov edx, dword [esp + 0x18]
mov ecx, edi
add edx, edi
mov edi, edx
push 0x643680
push dword [esp + 8]
push esi
call fcn.0047e361
add esp, 0xc
mov dword [esp + 0x18], edx
lea ecx, [esp + 0x268]
mov edx, eax
push dword [esp + 0x18]
call 0x4803e5
pop eax
mov edx, dword [esp + 4]
mov ecx, esi
push 0x643690
push edi
call fcn.0047e3cf
pop ecx
pop ecx
mov esi, edx
lea ecx, [esp + 0x1a8]
mov edx, eax
push esi
call 0x4803e5
pop eax
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x34]
mov edx, esi
push 0x6436a0
push ebx
call fcn.0047e344
pop ecx
pop ecx
mov edi, edx
lea ecx, [esp + 0x298]
mov edx, eax
push edi
call 0x4803e5
pop eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x10]
mov dword [esp + 4], ebx
lea edi, [ecx + eax + 1]
mov ecx, ebx
mov edx, edi
push 0x6436b0
push esi
mov esi, dword [esp + 0x3c]
push esi
call fcn.0047e361
add esp, 0xc
mov ebx, edx
lea ecx, [esp + 0x2c8]
mov edx, eax
push ebx
call 0x4803e5
pop eax
mov edx, dword [esp + 0x24]
mov ecx, esi
push 0x6436c0
push edi
call fcn.0047e3cf
pop ecx
pop ecx
mov esi, edx
lea ecx, [esp + 0x1d8]
mov edx, eax
push esi
call 0x4803e5
pop eax
lea esi, [esp + 0x3e8]
lea eax, [esp + 0x1a8]
lea edx, [esp + 0x178]
mov ecx, esi
push eax
call fcn.00480432
pop eax
lea edi, [esp + 0x328]
lea ebx, [esp + 0x298]
lea eax, [esp + 0x1d8]
mov ecx, edi
mov edx, ebx
push eax
call fcn.00480432
pop eax
lea eax, [esp + 0x268]
lea ecx, [esp + 0x358]
mov edx, esi
push eax
call fcn.004804ea
pop eax
lea eax, [esp + 0x2c8]
lea ecx, [esp + 0x2f8]
mov edx, edi
push eax
call fcn.004804ea
pop eax
lea ecx, [esp + 0x208]
lea edx, [esp + 0x178]
push ebx
call fcn.004805a0
pop eax
lea eax, [esp + 0x1d8]
lea ecx, [esp + 0x238]
lea edx, [esp + 0x1a8]
push eax
call fcn.004805a0
pop eax
push 0xc
pop ebx
lea edx, [esp + 0x40]
mov ecx, ebx
lea eax, [esp + 0x70]
mov edi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
mov edi, eax
lea esi, [esp + 0x268]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0xa0]
push eax
call fcn.004805e3
pop eax
lea edx, [esp + 0x40]
mov ecx, ebx
lea esi, [esp + 0x328]
lea eax, [esp + 0x70]
mov edi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
mov edi, eax
lea esi, [esp + 0x2c8]
rep movsd dword es:[edi], dword [esi]
lea esi, [esp + 0xe8]
mov ecx, esi
push eax
call fcn.004805e3
pop eax
lea ecx, [esp + 0x388]
lea edx, [esp + 0xa0]
push esi
call fcn.00480701
pop eax
lea esi, [esp + 0x358]
lea eax, [esp + 0x2f8]
lea ecx, [esp + 0x3b8]
mov edx, esi
push eax
call fcn.004805a0
pop eax
lea edx, [esp + 0x40]
mov ecx, ebx
lea eax, [esp + 0x70]
mov edi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
mov edi, eax
lea esi, [esp + 0x1a8]
rep movsd dword es:[edi], dword [esi]
lea esi, [esp + 0xe8]
mov ecx, esi
push eax
mov edi, eax
call fcn.004805e3
pop eax
lea ecx, [esp + 0x40]
mov edx, esi
call fcn.00480723
mov ecx, ebx
lea esi, [esp + 0x178]
mov ebx, edi
lea edx, [esp + 0x40]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0xa0]
push ebx
call fcn.0047ec88
pop eax
lea edx, [esp + 0x40]
push 0xc
pop eax
mov ecx, eax
mov edi, edx
lea esi, [esp + 0x2f8]
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov edi, ebx
lea esi, [esp + 0x1d8]
mov eax, ebx
lea ebx, [esp + 0xe8]
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
push eax
mov esi, eax
call fcn.004805e3
pop eax
lea ecx, [esp + 0x40]
mov edx, ebx
call fcn.00480723
push 0xc
pop ecx
mov eax, esi
mov edi, esi
lea esi, [esp + 0x298]
lea edx, [esp + 0x40]
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
push eax
call fcn.0047ec88
pop eax
lea esi, [esp + 0x418]
lea edx, [esp + 0xa0]
mov ecx, esi
push ebx
call fcn.00480701
pop eax
lea edi, [esp + 0x70]
mov edx, esi
lea esi, [esp + 0x388]
mov ecx, edi
push esi
call fcn.004807e1
pop eax
lea ecx, [esp + 0x118]
mov edx, edi
push 3
call fcn.004808f7
pop eax
lea edx, [esp + 0x70]
push 0xc
pop ebx
mov ecx, ebx
mov edi, edx
rep movsd dword es:[edi], dword [esi]
lea edi, [esp + 0x40]
lea esi, [esp + 0x3b8]
mov ecx, edi
push esi
call fcn.004807e1
pop eax
lea ecx, [esp + 0x148]
mov edx, edi
push 2
call fcn.004808f7
pop eax
lea edx, [esp + 0x70]
mov ecx, ebx
lea eax, [esp + 0x208]
mov edi, edx
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0xa0]
push eax
call fcn.004807e1
pop eax
lea eax, [esp + 0x70]
mov ecx, ebx
lea esi, [esp + 0x118]
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov al, byte [eax + 0x28]
cmp al, 1
jne 0x47ff1c
lea ecx, [esp + 0x40]
lea edx, [esp + 0xa0]
call fcn.0047ee01
lea ecx, [esp + 0x70]
call fcn.0047e08d
jmp 0x4800ae
movzx ebx, byte [esp + 0xc8]
test ebx, ebx
je 0x47ffd7
cmp ebx, 1
jne 0x480005
mov dl, 2
sub dl, al
push 0xa
pop ecx
lea eax, [esp + 0x40]
lea esi, [esp + 0x118]
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov byte [eax + 0x28], dl
mov ecx, dword [esp + 0x99]
mov edx, dword [esp + 0x9c]
mov dword [eax + 0x29], ecx
mov dword [eax + 0x2c], edx
jmp 0x4800ae
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
push 0x643650
push dword [esp + 0xc]
call fcn.0047e459
pop ecx
pop ecx
lea ecx, [esp + 0xe8]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.004097da
lea ecx, [esp + 0x40]
mov ebx, eax
mov esi, edx
call fcn.004097da
mov edi, edx
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
push edi
push eax
push esi
push ebx
call fcn.0047f635
add esp, 0x10
lea ecx, [esp + 0x40]
call fcn.0047e08d
lea ecx, [esp + 0xe8]
call fcn.0047e08d
lea ecx, [esp + 0xa0]
jmp 0x4803c6
test al, al
je 0x480009
push 0xa
pop ecx
lea edx, [esp + 0x40]
lea esi, [esp + 0x118]
lea eax, [esp + 0xa0]
mov edi, edx
rep movsd dword es:[edi], dword [esi]
lea esi, [esp + 0xe8]
mov ecx, esi
push eax
call fcn.0047ee43
jmp 0x48004d
test al, al
je 0x47ffdb
lea ecx, [esp + 0xa0]
lea edx, [esp + 0x70]
call fcn.0047ee17
test al, al
je 0x480058
movzx eax, al
cmp eax, 1
jne 0x480066
push 0xa
pop ecx
lea eax, [esp + 0x40]
lea esi, [esp + 0x118]
lea edx, [esp + 0xa0]
mov edi, eax
rep movsd dword es:[edi], dword [esi]
lea esi, [esp + 0xe8]
mov ecx, esi
push eax
call fcn.0047f01b
pop eax
movzx edx, bl
lea ecx, [esp + 0x40]
push esi
jmp 0x4800a8
lea ecx, [esp + 0x40]
call fcn.0047edd8
jmp 0x47ff0e
mov al, 2
sub al, bl
mov byte [esp + 8], al
push 0xa
pop ecx
lea ebx, [esp + 0x40]
lea esi, [esp + 0x118]
lea edx, [esp + 0xa0]
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
call fcn.0047efe1
push 0xa
pop ecx
lea eax, [esp + 0xe8]
mov esi, ebx
mov edi, eax
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x40]
movzx edx, byte [esp + 8]
push eax
call fcn.0047ef42
pop eax
lea ebx, [esp + 0x40]
lea edi, [esp + 0xe8]
mov ecx, edi
mov edx, ebx
push 2
call fcn.004808f7
pop eax
lea esi, [esp + 0x70]
lea edx, [esp + 0x238]
mov ecx, esi
call fcn.0047ee01
mov ecx, ebx
mov edx, esi
call fcn.00480723
lea ecx, [esp + 0x118]
mov edx, edi
push ebx
call fcn.004805e3
pop eax
push 0xc
pop ecx
lea edi, [esp + 0x70]
lea esi, [esp + 0xa0]
rep movsd dword es:[edi], dword [esi]
mov bl, byte [esp + 0x170]
cmp bl, 1
jne 0x480121
push 0xc
pop ecx
lea edi, [esp + 0x40]
lea esi, [esp + 0xa0]
rep movsd dword es:[edi], dword [esi]
jmp 0x48022f
movzx eax, byte [esp + 0x98]
test eax, eax
je 0x480147
cmp eax, 1
jne 0x4801af
lea ecx, [esp + 0x40]
lea edx, [esp + 0x148]
call fcn.0047ee01
jmp 0x4801f0
test bl, bl
mov dword [esp + 8], eax
je 0x4801b7
lea ecx, [esp + 0x70]
lea edx, [esp + 0x148]
call fcn.0047ee17
test al, al
je 0x4801e7
movzx eax, al
push 0xa
pop ecx
cmp eax, 1
jne 0x4801fb
lea ebx, [esp + 0x40]
lea esi, [esp + 0xa0]
lea edx, [esp + 0x148]
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
call fcn.0047efe1
push 0xa
pop ecx
lea eax, [esp + 0xe8]
mov esi, ebx
mov edi, eax
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x40]
movzx edx, byte [esp + 8]
push eax
jmp 0x480229
test bl, bl
mov dword [esp + 8], eax
je 0x48014f
push 0xa
pop ecx
lea edx, [esp + 0x40]
lea esi, [esp + 0xa0]
lea eax, [esp + 0x148]
mov edi, edx
rep movsd dword es:[edi], dword [esi]
lea esi, [esp + 0xe8]
mov ecx, esi
push eax
call fcn.0047ee43
pop eax
movzx edx, byte [esp + 8]
jmp 0x480224
lea ecx, [esp + 0x40]
call fcn.0047edd8
lea ecx, [esp + 0x70]
call fcn.0047e08d
jmp 0x48022f
lea eax, [esp + 0x40]
lea esi, [esp + 0xa0]
lea edx, [esp + 0x148]
mov edi, eax
rep movsd dword es:[edi], dword [esi]
lea esi, [esp + 0xe8]
mov ecx, esi
push eax
call fcn.0047f01b
pop eax
movzx edx, bl
lea ecx, [esp + 0x40]
push esi
call fcn.0047ef42
pop eax
lea esi, [esp + 0x70]
lea eax, [esp + 0x238]
lea edx, [esp + 0x40]
mov ecx, esi
push eax
call fcn.004807e1
pop eax
push 0xc
pop eax
lea edi, [esp + 0xa0]
mov ecx, eax
lea edx, [esp + 0x70]
lea ebx, [esp + 0x148]
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov esi, ebx
mov edi, edx
lea eax, [esp + 0x118]
rep movsd dword es:[edi], dword [esi]
lea esi, [esp + 0x40]
mov ecx, esi
push eax
call fcn.004807e1
pop eax
push 0xc
pop ecx
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x208]
call fcn.004097da
mov ecx, dword [esp + 0xc]
mov ebx, dword [esp + 0x14]
mov esi, edx
mov edx, ebx
push esi
push eax
call fcn.0047e9d6
pop ecx
pop ecx
lea edx, [esp + 0x70]
push 0xc
pop ecx
mov edi, edx
lea esi, [esp + 0x148]
rep movsd dword es:[edi], dword [esi]
lea esi, [esp + 0x40]
mov eax, dword [esp + 4]
mov ecx, esi
shl eax, 6
push eax
call fcn.0048094e
pop eax
mov ecx, esi
call fcn.004097da
mov ecx, dword [esp + 0xc]
mov edi, edx
mov edx, ebx
push edi
push eax
call fcn.0047e9d6
pop ecx
pop ecx
mov ecx, esi
call fcn.0047e08d
lea edx, [esp + 0x70]
push 0xc
pop ecx
mov edi, edx
lea esi, [esp + 0xa0]
rep movsd dword es:[edi], dword [esi]
lea esi, [esp + 0x40]
mov eax, dword [esp + 4]
mov ecx, esi
shl eax, 7
push eax
call fcn.0048094e
pop eax
mov ecx, esi
call fcn.004097da
mov ebx, dword [esp + 0xc]
mov edi, edx
mov edx, dword [esp + 0x14]
mov ecx, ebx
push edi
push eax
call fcn.0047e9d6
pop ecx
pop ecx
mov ecx, esi
call fcn.0047e08d
lea edx, [esp + 0x70]
push 0xc
pop ecx
mov edi, edx
lea esi, [esp + 0x118]
rep movsd dword es:[edi], dword [esi]
lea esi, [esp + 0x40]
imul eax, dword [esp + 4], 0xc0
mov ecx, esi
push eax
call fcn.0048094e
pop eax
mov ecx, esi
call fcn.004097da
mov ecx, ebx
mov ebx, dword [esp + 0x14]
mov edi, edx
mov edx, ebx
push edi
push eax
call fcn.0047e9d6
pop ecx
pop ecx
mov ecx, esi
call fcn.0047e08d
lea edx, [esp + 0x70]
push 0xc
pop ecx
mov edi, edx
lea esi, [esp + 0x238]
rep movsd dword es:[edi], dword [esi]
lea esi, [esp + 0x40]
mov eax, dword [esp + 4]
mov ecx, esi
shl eax, 8
push eax
call fcn.0048094e
pop eax
mov ecx, esi
call fcn.004097da
mov ecx, dword [esp + 0xc]
mov edi, edx
mov edx, ebx
push edi
push eax
call fcn.0047e9d6
pop ecx
pop ecx
mov ecx, esi
call fcn.0047e08d
lea ecx, [esp + 0x208]
call fcn.0047e08d
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push 0x25
pop edx
mov ecx, str.carry_overflow_during_multiplication_
push 0x6435e0
call fcn.004408d0
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x58
mov ebx, ecx
lea edi, [esp + 0x28]
mov ecx, edi
push dword [ebp + 8]
call fcn.0047e031
pop eax
mov esi, esp
mov edx, edi
mov ecx, esi
call fcn.0047e0c1
mov eax, dword [esi + 0x20]
cmp eax, 5
jb 0x480419
mov eax, dword [esp + 4]
cmp eax, 1
mov al, 2
sbb al, 0
push 0xa
pop ecx
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov byte [ebx + 0x28], al
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret