Function at 0x4352f0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x30
push ebx
push ebp
push esi
push edi
mov ebx, ecx
mov esi, edx
push 0x40
mov dword [esp + 0x28], ebx
call fcn.004434c0
mov edi, eax
xor eax, eax
pop ecx
test edi, edi
je 0x4358e6
mov dword [edi], eax
mov edx, 0xa0
mov dword [edi + 0x28], eax
mov ecx, ebx
mov dword [edi + 0x24], eax
push dword [esi + 0xc]
push dword [esi + 8]
call fcn.00435202
mov ebx, eax
pop ecx
pop ecx
test ebx, ebx
je 0x4358b6
movzx eax, byte [ebx + 0x1d]
movzx ecx, byte [ebx + 0x1c]
shl eax, 8
or eax, ecx
movzx ecx, byte [ebx + 0x1f]
shl ecx, 8
mov dword [esp + 0x28], eax
movzx eax, byte [ebx + 0x1e]
or ecx, eax
movzx eax, byte [ebx + 0x20]
mov dword [esp + 0x18], ecx
movzx ecx, byte [ebx + 0x21]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebx + 0xf]
mov dword [esp + 0x3c], ecx
cdq
mov ecx, eax
mov esi, edx
movzx eax, byte [ebx + 0xe]
shld esi, ecx, 8
cdq
shl ecx, 8
or esi, edx
or ecx, eax
movzx eax, byte [ebx + 0xd]
shld esi, ecx, 8
cdq
shl ecx, 8
or esi, edx
or ecx, eax
movzx eax, byte [ebx + 0xc]
shld esi, ecx, 8
cdq
shl ecx, 8
or esi, edx
or ecx, eax
mov dword [edi + 0xc], esi
mov dword [edi + 8], ecx
movzx eax, byte [ebx + 0x1b]
cdq
mov ecx, eax
mov esi, edx
movzx eax, byte [ebx + 0x1a]
shld esi, ecx, 8
cdq
shl ecx, 8
or esi, edx
or ecx, eax
movzx eax, byte [ebx + 0x19]
shld esi, ecx, 8
cdq
shl ecx, 8
or esi, edx
or ecx, eax
movzx eax, byte [ebx + 0x18]
shld esi, ecx, 8
cdq
shl ecx, 8
or esi, edx
or ecx, eax
mov dword [edi + 0x14], esi
mov dword [edi + 0x10], ecx
movzx ecx, byte [ebx + 0xb]
movzx eax, byte [ebx + 0xa]
shl ecx, 8
or ecx, eax
jne 0x43540c
xorps xmm0, xmm0
movlpd qword [esp + 0x30], xmm0
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
jmp 0x435445
movzx eax, byte [ebx + 0x17]
cdq
mov ecx, eax
mov esi, edx
movzx eax, byte [ebx + 0x16]
shld esi, ecx, 8
cdq
shl ecx, 8
or esi, edx
or ecx, eax
movzx eax, byte [ebx + 0x15]
shld esi, ecx, 8
cdq
shl ecx, 8
or esi, edx
or ecx, eax
movzx eax, byte [ebx + 0x14]
shld esi, ecx, 8
cdq
shl ecx, 8
or ecx, eax
or esi, edx
mov dword [edi + 0x18], ecx
mov dword [edi + 0x1c], esi
movzx ecx, byte [ebx + 0x13]
movzx eax, byte [ebx + 0x12]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebx + 0x11]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebx + 0x10]
shl ecx, 8
or ecx, eax
mov dword [edi + 0x20], ecx
movzx eax, byte [ebx + 0x2d]
cdq
mov ebp, eax
mov esi, edx
movzx eax, byte [ebx + 0x2c]
shld esi, ebp, 8
cdq
or esi, edx
shl ebp, 8
or ebp, eax
movzx eax, byte [ebx + 0x2b]
shld esi, ebp, 8
cdq
or esi, edx
shl ebp, 8
or ebp, eax
movzx eax, byte [ebx + 0x2a]
shld esi, ebp, 8
cdq
or esi, edx
shl ebp, 8
mov edx, dword [esp + 0x24]
or ebp, eax
mov ecx, ebp
mov dword [esp + 0x20], esi
mov dword [esp + 0x30], ebp
add ecx, dword [edx + 0x70]
adc esi, dword [edx + 0x74]
neg ecx
mov dword [edi + 0x30], ecx
adc esi, 0
neg esi
mov dword [edi + 0x34], esi
movzx ecx, byte [ebx + 9]
movzx eax, byte [ebx + 8]
mov esi, dword [esp + 0x28]
shl ecx, 8
or ecx, eax
mov dword [edi + 0x38], ecx
lea eax, [esi + 1]
push eax
call fcn.004434c0
mov dword [edi], eax
pop ecx
test eax, eax
je 0x4358b6
push esi
lea ecx, [ebx + 0x2e]
push ecx
push eax
call fcn.0043be80
mov eax, dword [edi]
add esp, 0xc
mov edx, dword [esp + 0x18]
mov byte [esi + eax], 0
mov dword [edi + 0x3c], esi
test edx, edx
je 0x43587a
add esi, 0x2e
lea eax, [edx + 2]
add esi, ebx
push eax
mov dword [esp + 0x18], esi
call fcn.004434c0
mov dword [edi + 0x28], eax
pop ecx
test eax, eax
je 0x4358b6
mov edx, dword [esp + 0x18]
mov ecx, edx
mov byte [eax], dl
mov eax, dword [edi + 0x28]
shr ecx, 8
push edx
push esi
mov byte [eax + 1], cl
mov eax, dword [edi + 0x28]
add eax, 2
push eax
call fcn.0043be80
add esp, 0xc
cmp dword [edi + 0x18], 0xffffffff
jne 0x43555e
cmp dword [edi + 0x1c], 0
je 0x43557e
cmp dword [edi + 0x10], 0xffffffff
jne 0x43556a
cmp dword [edi + 0x14], 0
je 0x43557e
cmp ebp, 0xffffffff
jne 0x43587a
cmp dword [esp + 0x20], 0
jne 0x43587a
mov edx, dword [esp + 0x18]
xor ebp, ebp
cmp edx, 4
jbe 0x43587a
mov eax, dword [esp + 0x14]
movzx esi, byte [esi + ebp + 3]
shl esi, 8
movzx eax, byte [eax + ebp + 2]
or esi, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x1c], esi
movzx ecx, byte [eax + ebp + 1]
movzx eax, byte [eax + ebp]
shl ecx, 8
or ecx, eax
cmp ecx, 1
je 0x4355d0
add esi, 4
add ebp, esi
mov esi, dword [esp + 0x14]
lea eax, [ebp + 4]
cmp eax, edx
jl 0x43558d
jmp 0x43587a
add ebp, 4
cmp dword [edi + 0x10], 0xffffffff
jne 0x4356b8
cmp dword [edi + 0x14], 0
jne 0x4356b8
cmp esi, 8
jb 0x43587a
lea eax, [ebp + 8]
mov dword [esp + 0x2c], eax
cmp eax, edx
jg 0x43587a
mov eax, dword [esp + 0x14]
movzx eax, byte [eax + ebp + 7]
cdq
mov ecx, eax
mov esi, edx
mov eax, dword [esp + 0x14]
shld esi, ecx, 8
shl ecx, 8
movzx eax, byte [eax + ebp + 6]
cdq
or ecx, eax
or esi, edx
mov eax, dword [esp + 0x14]
shld esi, ecx, 8
shl ecx, 8
movzx eax, byte [eax + ebp + 5]
cdq
or ecx, eax
or esi, edx
mov eax, dword [esp + 0x14]
shld esi, ecx, 8
shl ecx, 8
movzx eax, byte [eax + ebp + 4]
cdq
or ecx, eax
or esi, edx
mov eax, dword [esp + 0x14]
shld esi, ecx, 8
shl ecx, 8
movzx eax, byte [eax + ebp + 3]
cdq
or ecx, eax
or esi, edx
mov eax, dword [esp + 0x14]
shld esi, ecx, 8
shl ecx, 8
movzx eax, byte [eax + ebp + 2]
cdq
or ecx, eax
or esi, edx
mov eax, dword [esp + 0x14]
shld esi, ecx, 8
shl ecx, 8
movzx eax, byte [eax + ebp + 1]
cdq
or ecx, eax
or esi, edx
mov eax, dword [esp + 0x14]
shld esi, ecx, 8
shl ecx, 8
movzx eax, byte [eax + ebp]
mov ebp, dword [esp + 0x2c]
cdq
or esi, edx
or ecx, eax
mov edx, dword [esp + 0x18]
mov dword [edi + 0x14], esi
mov esi, dword [esp + 0x1c]
sub esi, 8
mov dword [edi + 0x10], ecx
mov dword [esp + 0x1c], esi
cmp dword [edi + 0x18], 0xffffffff
jne 0x435795
cmp dword [edi + 0x1c], 0
jne 0x435795
cmp esi, 8
jl 0x43587a
lea eax, [ebp + 8]
mov dword [esp + 0x2c], eax
cmp eax, edx
jg 0x43587a
mov eax, dword [esp + 0x14]
movzx eax, byte [eax + ebp + 7]
cdq
mov ecx, eax
mov esi, edx
mov eax, dword [esp + 0x14]
shld esi, ecx, 8
shl ecx, 8
movzx eax, byte [eax + ebp + 6]
cdq
or ecx, eax
or esi, edx
mov eax, dword [esp + 0x14]
shld esi, ecx, 8
shl ecx, 8
movzx eax, byte [eax + ebp + 5]
cdq
or ecx, eax
or esi, edx
mov eax, dword [esp + 0x14]
shld esi, ecx, 8
shl ecx, 8
movzx eax, byte [eax + ebp + 4]
cdq
or ecx, eax
or esi, edx
mov eax, dword [esp + 0x14]
shld esi, ecx, 8
shl ecx, 8
movzx eax, byte [eax + ebp + 3]
cdq
or ecx, eax
or esi, edx
mov eax, dword [esp + 0x14]
shld esi, ecx, 8
shl ecx, 8
movzx eax, byte [eax + ebp + 2]
cdq
or ecx, eax
or esi, edx
mov eax, dword [esp + 0x14]
shld esi, ecx, 8
shl ecx, 8
movzx eax, byte [eax + ebp + 1]
cdq
or ecx, eax
or esi, edx
mov eax, dword [esp + 0x14]
shld esi, ecx, 8
shl ecx, 8
movzx eax, byte [eax + ebp]
mov ebp, dword [esp + 0x2c]
cdq
or esi, edx
or ecx, eax
mov dword [edi + 0x1c], esi
mov esi, dword [esp + 0x1c]
mov dword [edi + 0x18], ecx
sub esi, 8
cmp dword [esp + 0x30], 0xffffffff
jne 0x43587a
cmp dword [esp + 0x20], 0
jne 0x43587a
cmp esi, 8
jl 0x43587a
mov esi, dword [esp + 0x18]
lea eax, [ebp + 8]
cmp eax, esi
jg 0x43587e
mov eax, dword [esp + 0x14]
movzx eax, byte [eax + ebp + 7]
cdq
mov ecx, eax
mov esi, edx
mov eax, dword [esp + 0x14]
shld esi, ecx, 8
shl ecx, 8
movzx eax, byte [eax + ebp + 6]
cdq
or ecx, eax
or esi, edx
mov eax, dword [esp + 0x14]
shld esi, ecx, 8
shl ecx, 8
movzx eax, byte [eax + ebp + 5]
cdq
or ecx, eax
or esi, edx
mov eax, dword [esp + 0x14]
shld esi, ecx, 8
shl ecx, 8
movzx eax, byte [eax + ebp + 4]
cdq
or ecx, eax
or esi, edx
mov eax, dword [esp + 0x14]
shld esi, ecx, 8
shl ecx, 8
movzx eax, byte [eax + ebp + 3]
cdq
or ecx, eax
or esi, edx
mov eax, dword [esp + 0x14]
shld esi, ecx, 8
shl ecx, 8
movzx eax, byte [eax + ebp + 2]
cdq
or ecx, eax
or esi, edx
mov eax, dword [esp + 0x14]
shld esi, ecx, 8
shl ecx, 8
movzx eax, byte [eax + ebp + 1]
cdq
or ecx, eax
or esi, edx
mov eax, dword [esp + 0x14]
shld esi, ecx, 8
shl ecx, 8
movzx eax, byte [eax + ebp]
cdq
or ecx, eax
or esi, edx
mov eax, dword [esp + 0x24]
add ecx, dword [eax + 0x70]
adc esi, dword [eax + 0x74]
neg ecx
mov dword [edi + 0x30], ecx
adc esi, 0
neg esi
mov dword [edi + 0x34], esi
mov esi, dword [esp + 0x18]
mov ebp, dword [esp + 0x3c]
test ebp, ebp
je 0x4358d9
lea eax, [ebp + 1]
push eax
call fcn.004434c0
mov dword [edi + 0x24], eax
pop ecx
test eax, eax
je 0x4358b6
mov ecx, dword [esp + 0x28]
add ecx, 0x2e
add ecx, esi
push ebp
add ecx, ebx
push ecx
push eax
call fcn.0043be80
mov eax, dword [edi + 0x24]
add esp, 0xc
mov byte [eax + ebp], 0
jmp 0x4358d9
push dword [edi]
call fcn.0044275c
pop ecx
push dword [edi + 0x28]
call fcn.0044275c
pop ecx
push dword [edi + 0x24]
call fcn.0044275c
pop ecx
push edi
call fcn.0044275c
pop ecx
xor edi, edi
test ebx, ebx
je 0x4358e4
push ebx
call fcn.0044275c
pop ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret