Function at 0x434ffa
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 main
mov edi, eax
xor eax, eax
pop ecx
test edi, edi
je 0x4355f0
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.00434f0c
mov ebx, eax
pop ecx
pop ecx
test ebx, ebx
je 0x4355c0
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 0x435116
xorps xmm0, xmm0
movlpd qword [esp + 0x30], xmm0
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
jmp 0x43514f
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 main
mov dword [edi], eax
pop ecx
test eax, eax
je 0x4355c0
push esi
lea ecx, [ebx + 0x2e]
push ecx
push eax
call fcn.0043bb90
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 0x435584
add esi, 0x2e
lea eax, [edx + 2]
add esi, ebx
push eax
mov dword [esp + 0x18], esi
call main
mov dword [edi + 0x28], eax
pop ecx
test eax, eax
je 0x4355c0
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.0043bb90
add esp, 0xc
cmp dword [edi + 0x18], 0xffffffff
jne 0x435268
cmp dword [edi + 0x1c], 0
je 0x435288
cmp dword [edi + 0x10], 0xffffffff
jne 0x435274
cmp dword [edi + 0x14], 0
je 0x435288
cmp ebp, 0xffffffff
jne 0x435584
cmp dword [esp + 0x20], 0
jne 0x435584
mov edx, dword [esp + 0x18]
xor ebp, ebp
cmp edx, 4
jbe 0x435584
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 0x4352da
add esi, 4
add ebp, esi
mov esi, dword [esp + 0x14]
lea eax, [ebp + 4]
cmp eax, edx
jl 0x435297
jmp 0x435584
add ebp, 4
cmp dword [edi + 0x10], 0xffffffff
jne 0x4353c2
cmp dword [edi + 0x14], 0
jne 0x4353c2
cmp esi, 8
jb 0x435584
lea eax, [ebp + 8]
mov dword [esp + 0x2c], eax
cmp eax, edx
jg 0x435584
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 0x43549f
cmp dword [edi + 0x1c], 0
jne 0x43549f
cmp esi, 8
jl 0x435584
lea eax, [ebp + 8]
mov dword [esp + 0x2c], eax
cmp eax, edx
jg 0x435584
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 0x435584
cmp dword [esp + 0x20], 0
jne 0x435584
cmp esi, 8
jl 0x435584
mov esi, dword [esp + 0x18]
lea eax, [ebp + 8]
cmp eax, esi
jg 0x435588
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 0x4355e3
lea eax, [ebp + 1]
push eax
call main
mov dword [edi + 0x24], eax
pop ecx
test eax, eax
je 0x4355c0
mov ecx, dword [esp + 0x28]
add ecx, 0x2e
add ecx, esi
push ebp
add ecx, ebx
push ecx
push eax
call fcn.0043bb90
mov eax, dword [edi + 0x24]
add esp, 0xc
mov byte [eax + ebp], 0
jmp 0x4355e3
push dword [edi]
call main
pop ecx
push dword [edi + 0x28]
call main
pop ecx
push dword [edi + 0x24]
call main
pop ecx
push edi
call main
pop ecx
xor edi, edi
test ebx, ebx
je 0x4355ee
push ebx
call main
pop ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret