Function at 0x4011c1
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x60
mov al, byte [0x523601]
mov edi, dword [esp + 0x74]
mov esi, edx
mov ebx, ecx
mov dword [esp + 0x3c], ecx
cmp al, 1
jne 0x401232
mov eax, esi
mov esi, edi
shl esi, 4
mov edi, eax
mov dword [esp + 0x28], eax
and esi, 0xffffffc0
add esi, eax
cmp edi, esi
je 0x401510
cmp dword [ebx + 0x220], 0
lea ebp, [edi + 0x40]
je 0x401225
push 0x40
pop ebx
test ebx, ebx
je 0x40121d
mov ecx, dword [esp + 0x3c]
mov edx, edi
call fcn.0040b884
add edi, 0x10
add ebx, 0xfffffff0
jmp 0x401206
mov ebx, dword [esp + 0x3c]
mov edi, ebp
jmp 0x4011ef
mov ecx, ebx
mov edx, edi
call fcn.0040c25d
mov edi, ebp
jmp 0x4011ef
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebx + 0x18]
mov edx, dword [ebx + 0x1c]
mov ebp, dword [ebx + 0x20]
shl edi, 4
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x14]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x44], edx
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x18], eax
lea eax, [eax + eax*4]
mov dword [esp + 0x48], eax
lea eax, [ecx + ecx*4]
mov ecx, dword [ebx + 0x30]
mov dword [esp + 0x40], eax
lea eax, [edx + edx*4]
mov edx, dword [ebx + 0x2c]
mov dword [esp + 0x2c], eax
lea eax, [ebp + ebp*4]
mov ebp, dword [ebx + 0x24]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 0x28]
mov ebx, dword [ebx + 0x34]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
test edi, edi
je 0x40153f
mov ecx, dword [esi + 3]
mov edx, 0x3ffffff
mov dword [esp + 0x5c], edi
mov edi, dword [esi]
mov dword [esp + 0x28], esi
shr ecx, 2
and edi, edx
and ecx, edx
add edi, ebp
add ecx, eax
mov eax, dword [esi + 6]
mov dword [esp + 0x24], edi
mov dword [esp + 0x20], ecx
shr eax, 4
and eax, edx
add eax, dword [esp + 0x10]
mov dword [esp + 8], eax
mov eax, dword [esi + 9]
shr eax, 6
add eax, dword [esp + 0xc]
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 0xc]
shr eax, 8
lea eax, [ebx + eax + 0x1000000]
mov dword [esp], eax
mov eax, edi
mul dword [esp + 4]
mov ebx, eax
mov eax, ecx
mov esi, edx
mul dword [esp + 0x14]
mov edi, eax
mov eax, dword [esp + 8]
mov ecx, edx
add edi, ebx
adc ecx, esi
mul dword [esp + 0x2c]
mov ebp, eax
mov eax, dword [esp + 0x1c]
mov ebx, edx
add ebp, edi
adc ebx, ecx
mul dword [esp + 0x40]
mov edi, eax
mov eax, dword [esp]
mov ecx, edx
add edi, ebp
adc ecx, ebx
mul dword [esp + 0x48]
add eax, edi
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x24]
adc edx, ecx
mov dword [esp + 0x34], edx
mul dword [esp + 0x18]
mov ebx, eax
mov eax, dword [esp + 0x20]
mov esi, edx
mul dword [esp + 4]
mov edi, eax
mov eax, dword [esp + 8]
mov ecx, edx
add edi, ebx
adc ecx, esi
mul dword [esp + 0x14]
mov ebp, eax
mov eax, dword [esp + 0x1c]
mov ebx, edx
add ebp, edi
adc ebx, ecx
mul dword [esp + 0x2c]
mov esi, eax
mov eax, dword [esp]
mov ecx, edx
add esi, ebp
adc ecx, ebx
mul dword [esp + 0x40]
add eax, esi
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x24]
adc edx, ecx
mov dword [esp + 0x10], edx
mul dword [esp + 0x30]
mov edi, eax
mov eax, dword [esp + 0x20]
mov esi, edx
mul dword [esp + 0x18]
mov ecx, eax
mov eax, dword [esp + 8]
mov ebx, edx
add ecx, edi
adc ebx, esi
mul dword [esp + 4]
mov edi, eax
mov ebp, edx
add edi, ecx
adc ebp, ebx
mov ebx, dword [esp + 0x1c]
mov eax, ebx
mul dword [esp + 0x14]
mov esi, eax
mov eax, dword [esp]
mov ecx, edx
add esi, edi
adc ecx, ebp
mul dword [esp + 0x2c]
add eax, esi
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x24]
adc edx, ecx
mov dword [esp + 0xc], edx
mul dword [esp + 0x44]
mov edi, eax
mov eax, dword [esp + 0x20]
mov esi, edx
mul dword [esp + 0x30]
mov ecx, eax
mov eax, dword [esp + 8]
mov ebp, edx
add ecx, edi
adc ebp, esi
mul dword [esp + 0x18]
mov esi, eax
mov edi, edx
mov eax, ebx
add esi, ecx
adc edi, ebp
mul dword [esp + 4]
mov ebx, eax
mov eax, dword [esp]
mov ebp, edx
add ebx, esi
adc ebp, edi
mul dword [esp + 0x14]
add eax, ebx
mov ecx, edx
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x24]
adc ecx, ebp
mul dword [esp + 0x4c]
mov ebx, eax
mov eax, dword [esp + 0x20]
mov ebp, edx
mul dword [esp + 0x44]
mov esi, eax
mov eax, dword [esp + 8]
mov edi, edx
add esi, ebx
adc edi, ebp
mul dword [esp + 0x30]
mov ebx, eax
mov eax, dword [esp + 0x1c]
mov ebp, edx
add ebx, esi
adc ebp, edi
mul dword [esp + 0x18]
mov esi, eax
mov eax, dword [esp]
mov edi, edx
add esi, ebx
mov ebx, dword [esp + 0x3c]
adc edi, ebp
mov ebp, dword [esp + 0x34]
mul dword [esp + 4]
add eax, esi
mov esi, dword [esp + 0x38]
adc edx, edi
mov edi, 0x3ffffff
shld ebp, esi, 6
and esi, edi
mov edi, dword [esp + 0x10]
add ebp, dword [esp + 0x58]
mov dword [esp + 0x38], esi
mov esi, 0x3ffffff
adc edi, 0
shld edi, ebp, 6
and ebp, esi
mov esi, dword [esp + 0xc]
add edi, dword [esp + 0x54]
mov dword [esp + 0x34], ebp
mov ebp, 0x3ffffff
adc esi, 0
shld esi, edi, 6
and edi, ebp
add esi, dword [esp + 0x50]
mov dword [esp + 0x10], edi
adc ecx, 0
shld ecx, esi, 6
and esi, ebp
add ecx, eax
mov dword [esp + 0xc], esi
adc edx, 0
shld edx, ecx, 6
lea ebp, [edx + edx*4]
mov edx, dword [esp + 0x28]
add ebp, dword [esp + 0x38]
add edx, 0x10
mov eax, ebp
mov dword [esp], edx
mov edx, 0x3ffffff
shr eax, 0x1a
and ebp, edx
and ecx, edx
add eax, dword [esp + 0x34]
mov dword [ebx + 0x24], ebp
mov dword [ebx + 0x28], eax
mov dword [ebx + 0x2c], edi
mov edi, dword [esp + 0x5c]
mov dword [ebx + 0x30], esi
mov esi, dword [esp]
mov dword [ebx + 0x34], ecx
mov ebx, ecx
add edi, 0xfffffff0
jmp 0x40128c
mov edi, dword [esp + 0x74]
mov esi, dword [esp + 0x28]
mov eax, edi
and edi, 3
and eax, 0xffffffc
shl edi, 4
shl eax, 4
add esi, eax
test edi, edi
je 0x40153f
mov edx, esi
mov ecx, ebx
add esi, 0x10
call fcn.0040b884
add edi, 0xfffffff0
jmp 0x40152a
add esp, 0x60
pop esi
pop edi
pop ebx
pop ebp
ret