Function at 0x43523e
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.00443410
mov edi, eax
xor eax, eax
pop ecx
test edi, edi
je 0x435834
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.00435150
mov ebx, eax
pop ecx
pop ecx
test ebx, ebx
je 0x435804
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 0x43535a
xorps xmm0, xmm0
movlpd qword [esp + 0x30], xmm0
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
jmp 0x435393
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.00443410
mov dword [edi], eax
pop ecx
test eax, eax
je 0x435804
push esi
lea ecx, [ebx + 0x2e]
push ecx
push eax
call fcn.0043bdd0
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 0x4357c8
add esi, 0x2e
lea eax, [edx + 2]
add esi, ebx
push eax
mov dword [esp + 0x18], esi
call fcn.00443410
mov dword [edi + 0x28], eax
pop ecx
test eax, eax
je 0x435804
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.0043bdd0
add esp, 0xc
cmp dword [edi + 0x18], 0xffffffff
jne 0x4354ac
cmp dword [edi + 0x1c], 0
je 0x4354cc
cmp dword [edi + 0x10], 0xffffffff
jne 0x4354b8
cmp dword [edi + 0x14], 0
je 0x4354cc
cmp ebp, 0xffffffff
jne 0x4357c8
cmp dword [esp + 0x20], 0
jne 0x4357c8
mov edx, dword [esp + 0x18]
xor ebp, ebp
cmp edx, 4
jbe 0x4357c8
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 0x43551e
add esi, 4
add ebp, esi
mov esi, dword [esp + 0x14]
lea eax, [ebp + 4]
cmp eax, edx
jl 0x4354db
jmp 0x4357c8
add ebp, 4
cmp dword [edi + 0x10], 0xffffffff
jne 0x435606
cmp dword [edi + 0x14], 0
jne 0x435606
cmp esi, 8
jb 0x4357c8
lea eax, [ebp + 8]
mov dword [esp + 0x2c], eax
cmp eax, edx
jg 0x4357c8
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 0x4356e3
cmp dword [edi + 0x1c], 0
jne 0x4356e3
cmp esi, 8
jl 0x4357c8
lea eax, [ebp + 8]
mov dword [esp + 0x2c], eax
cmp eax, edx
jg 0x4357c8
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 0x4357c8
cmp dword [esp + 0x20], 0
jne 0x4357c8
cmp esi, 8
jl 0x4357c8
mov esi, dword [esp + 0x18]
lea eax, [ebp + 8]
cmp eax, esi
jg 0x4357cc
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 0x435827
lea eax, [ebp + 1]
push eax
call fcn.00443410
mov dword [edi + 0x24], eax
pop ecx
test eax, eax
je 0x435804
mov ecx, dword [esp + 0x28]
add ecx, 0x2e
add ecx, esi
push ebp
add ecx, ebx
push ecx
push eax
call fcn.0043bdd0
mov eax, dword [edi + 0x24]
add esp, 0xc
mov byte [eax + ebp], 0
jmp 0x435827
push dword [edi]
call fcn.004426ac
pop ecx
push dword [edi + 0x28]
call fcn.004426ac
pop ecx
push dword [edi + 0x24]
call fcn.004426ac
pop ecx
push edi
call fcn.004426ac
pop ecx
xor edi, edi
test ebx, ebx
je 0x435832
push ebx
call fcn.004426ac
pop ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret