Function at 0x43e350
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x20
push esi
mov esi, dword [ebp + 8]
push edi
xor edi, edi
mov dword [esp + 0x14], edi
mov eax, dword [esi + 0x54]
mov edx, dword [eax + 0x10]
sub edx, 8
mov dword [esp + 8], edx
cmp dword [ebp + 0x10], edi
jle 0x43e424
mov ecx, dword [ebp + 0xc]
lea edx, [ecx*4]
lea eax, [ecx*8]
mov dword [esp + 0x18], edx
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0x64]
cmp dword [edx + eax], 0
jne 0x43e406
mov eax, dword [esi + 0x54]
mov eax, dword [eax + 0x10]
add eax, dword [esp + 0x10]
mov edi, dword [eax + 4]
cmp edi, 0xfffffff2
jae 0x43e3b5
mov edi, 0xe
jmp 0x43e3b7
not edi
mov eax, edi
or eax, 0x4780
mov word [esi + 0x7c], ax
mov ax, word [esi + 0x70]
add ax, word [esp + 0x14]
add ax, cx
mov ecx, esi
mov word [esi + 0x78], ax
mov eax, 4
mov word [esi + 0x7a], ax
call fcn.00452030
mov ecx, eax
cmp edi, 2
ja 0x43e3f5
imul ecx, edi, 0xffffff
add ecx, 0x7fff
mov eax, dword [esi + 0x64]
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
mov dword [edx + eax], ecx
mov ecx, dword [ebp + 0xc]
add dword [esp + 0x10], 8
inc edi
add edx, 4
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], edx
cmp edi, dword [ebp + 0x10]
jl 0x43e393
mov edx, dword [esp + 8]
mov ecx, dword [edx + 4]
mov eax, ecx
mov edi, dword [ebp + 0xc]
and eax, 6
cmp al, 6
jne 0x43e492
nop dword [eax]
nop word [eax + eax]
dec dword [esi + 0xb8]
sar ecx, 3
cmp dword [esi + 0xb8], 0
jle 0x43e9e0
sub dword [esi + 0x70], ecx
mov eax, ecx
inc dword [ebp + 0x10]
neg eax
shl eax, 2
dec ecx
add dword [esi + 0x64], eax
add edi, ecx
mov eax, dword [esi + 0x64]
mov dword [ebp + 0xc], edi
mov dword [eax + edi*4], 0x2007ffd
mov eax, dword [edx + 4]
and eax, 0xfffffff8
mov byte [esi + 0x75], 1
sub edx, eax
mov dword [esp + 8], edx
mov ecx, dword [edx + 4]
mov eax, ecx
and eax, 6
cmp al, 6
je 0x43e440
cmp dword [esi + 0xb8], 0
jne 0x43e5ae
cmp dword [esi + 0x60], 0
je 0x43e5ae
mov eax, dword [esi + 0x58]
mov eax, dword [eax]
and eax, 0xff
cmp eax, 0x49
je 0x43e4cb
cmp eax, 0x4a
je 0x43e4cb
cmp eax, 0x4b
je 0x43e4cb
cmp eax, 0x4c
jne 0x43e5ae
test byte [edx + 4], 3
jne 0x43e517
cmp dword [esi + 0x924], 0
jne 0x43e5ae
cmp dword [esi + 0x928], 0
jne 0x43e5ae
mov eax, dword [esi + 0x2c]
and eax, 0xff
cmp eax, 0x49
je 0x43e5ae
cmp eax, 0x4a
je 0x43e5ae
cmp eax, 0x4b
je 0x43e5ae
cmp eax, 0x4c
je 0x43e5ae
xor ecx, ecx
test edi, edi
jle 0x43e593
cmp edi, 4
jb 0x43e584
mov edx, dword [esi + 0x64]
lea eax, [esi + 0x64]
mov dword [esp + 0x18], edx
lea esi, [edx - 4]
lea esi, [esi + edi*4]
mov dword [esp + 0x24], esi
mov esi, dword [ebp + 8]
cmp edx, eax
ja 0x43e543
cmp dword [esp + 0x24], eax
jae 0x43e584
mov eax, edi
and eax, 0x80000003
jns 0x43e551
dec eax
or eax, 0xfffffffc
inc eax
sub edi, eax
add ecx, 4
cmp ecx, edi
jl 0x43e553
lea eax, [edi + 3]
mov dword [esp + 0x24], ecx
mov edi, dword [esp + 0x18]
cdq
and edx, 3
lea ecx, [edx + eax]
xor eax, eax
sar ecx, 2
shl ecx, 4
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x24]
mov edi, dword [ebp + 0xc]
cmp ecx, edi
jge 0x43e593
mov eax, dword [esi + 0x64]
mov dword [eax + ecx*4], 0
inc ecx
cmp ecx, edi
jl 0x43e584
mov eax, dword [ebp + 0x10]
push 0
add eax, edi
push 7
push esi
mov dword [esi + 0x6c], eax
call fcn.0043eec0
add esp, 0xc
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, dword [edx + 4]
mov eax, ecx
and eax, 7
cmp al, 3
jne 0x43e5e8
sar ecx, 3
add dword [esi + 0xb8], 0xffffffff
js 0x43e9e0
sub dword [esi + 0x70], ecx
lea eax, [ecx*4]
sub dword [esi + 0x64], eax
add edi, ecx
mov eax, dword [edx + 4]
and eax, 0xfffffff8
mov dword [ebp + 0xc], edi
sub edx, eax
mov dword [esp + 8], edx
mov ecx, dword [edx + 4]
test cl, 3
jne 0x43e84b
mov ecx, dword [ecx - 4]
mov eax, ecx
shr eax, 0x18
test eax, eax
je 0x43e603
dec eax
jmp 0x43e606
mov eax, dword [ebp + 0x10]
shr ecx, 8
mov dword [esp + 0x14], eax
movzx eax, cl
mov ecx, edx
mov dword [esp + 0x24], eax
lea eax, [eax*8 + 8]
sub ecx, eax
mov eax, dword [ecx]
mov ecx, dword [eax + 0x10]
sub ecx, 0x40
mov dword [esp + 0x10], ecx
test byte [ecx + 0x25], 8
jne 0x43e9e8
cmp dword [esi + 0xb8], 0
jne 0x43e701
cmp dword [esi + 0x60], 0
je 0x43e701
mov eax, dword [esi + 0x54]
mov eax, dword [eax + 0x10]
sub eax, 8
cmp edx, eax
jne 0x43e701
movzx eax, word [esi + 0x176]
mov dword [esp + 0xc], eax
test eax, eax
je 0x43e6f8
mov edx, dword [esi + 0x10]
cmp dword [edx + eax*8], ecx
jne 0x43e6e7
xor ecx, ecx
mov dword [esp + 0x18], ecx
movzx ecx, word [esi + 0x15c]
test ecx, ecx
je 0x43e6e3
mov edi, dword [esi + 0x10]
mov esi, dword [esp + 0x18]
movzx eax, word [edi + ecx*8]
lea edx, [edi + ecx*8]
cmp eax, dword [esp + 0xc]
lea ecx, [esi + 1]
cmovne ecx, esi
mov esi, ecx
movzx ecx, word [edx + 6]
test ecx, ecx
jne 0x43e690
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x18], esi
mov ecx, dword [esp + 0x18]
mov esi, dword [ebp + 8]
test ecx, ecx
je 0x43e6dc
mov eax, dword [esi + 0x58]
cmp eax, dword [esi + 0x920]
jne 0x43e9f0
mov eax, dword [esi + 0xb4]
add eax, ecx
cmp eax, dword [esi + 0x63c]
jg 0x43e71d
mov edx, dword [esi + 0x10]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
movzx eax, word [edx + eax*8 + 6]
mov dword [esp + 0xc], eax
test eax, eax
jne 0x43e673
push esi
call fcn.004394e0
add esp, 4
mov eax, dword [esp + 0x14]
xor ecx, ecx
test eax, eax
jle 0x43e759
shl edi, 2
nop
cmp ecx, dword [ebp + 0x10]
jge 0x43e741
mov eax, dword [esi + 0x64]
mov edx, dword [edi + eax]
jmp 0x43e746
mov eax, dword [ebp + 0x10]
add eax, edi
push esi
mov dword [esi + 0x6c], eax
call fcn.00439700
movzx eax, word [esi + 0x40]
push eax
push 5
push esi
call fcn.0043eec0
add esp, 0x10
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov edx, 0x7fff
mov eax, dword [esi + 0x64]
add edi, 4
mov dword [eax + ecx*4 - 4], edx
inc ecx
mov eax, dword [esp + 0x14]
cmp ecx, eax
jl 0x43e710
mov ecx, dword [esp + 0x24]
add eax, ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0xb8]
test eax, eax
jle 0x43e792
dec eax
mov dword [esi + 0xb8], eax
or eax, 0xffffffff
sub eax, ecx
add dword [esi + 0x70], eax
lea eax, [ecx*4]
mov ecx, 0xfffffffc
sub ecx, eax
add dword [esi + 0x64], ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x924], 0
jne 0x43e7c4
cmp dword [esi + 0x928], 0
jne 0x43e7c4
mov eax, dword [esi + 0x2c]
and eax, 0xff
cmp eax, 0x49
je 0x43e7c4
cmp eax, 0x4a
je 0x43e7c4
cmp eax, 0x4b
je 0x43e7c4
cmp eax, 0x4c
jne 0x43e9f8
cmp byte [esi + 0x75], 0
jne 0x43e9e0
push 7
push dword [esp + 0x14]
push esi
call fcn.004525e0
mov edi, eax
mov eax, dword [esp + 0x14]
push dword [eax + 4]
push 0x19
push esi
call fcn.00452810
mov ecx, 0xb85
mov word [esi + 0x78], di
add esp, 0x18
mov word [esi + 0x7c], cx
mov ecx, esi
mov word [esi + 0x7a], ax
call fcn.0045ba20
mov ecx, dword [esi + 0x64]
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x24]
inc dword [esi + 0xbc]
shl eax, 2
push eax
lea eax, [ecx - 4]
mov byte [esi + 0x75], 1
push eax
lea eax, [ecx + edi*4]
push eax
call fcn.0046c230
lea eax, [edi*4 + 4]
push eax
mov eax, dword [esi + 0x64]
sub eax, 4
push 0
push eax
call fcn.0046b7d0
add esp, 0x18
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, ecx
and al, 7
cmp al, 2
jne 0x43e9e0
mov eax, dword [edx - 8]
sar ecx, 3
add dword [esi + 0xb8], 0xfffffffe
mov dword [esp + 0x24], eax
mov dword [esp + 0x10], ecx
js 0x43e9e0
mov edx, dword [esi + 0x64]
lea eax, [ecx*4]
sub dword [esi + 0x70], ecx
sub edx, eax
mov eax, edx
mov dword [esp + 0xc], edx
mov edx, dword [esp + 8]
mov dword [esi + 0x64], eax
lea eax, [ecx - 2]
mov dword [esp + 0x18], eax
mov dword [esi + 0x6c], eax
mov eax, dword [esp + 0x24]
cmp eax, 0x402cbb
jne 0x43e8d1
cmp dword [ebp + 0x10], 0
mov eax, dword [edx - 4]
movzx edx, byte [eax - 3]
je 0x43e8c3
lea eax, [ecx + edi]
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + eax*4]
mov eax, dword [esp + 0xc]
jmp 0x43e9c8
mov eax, dword [esp + 0xc]
mov ecx, 0x7fff
jmp 0x43e9c8
cmp eax, 0x402d97
je 0x43e5a8
cmp eax, 0x402c1f
jne 0x43e5a8
cmp dword [ebp + 0x10], 0
mov eax, dword [edx - 4]
movzx eax, byte [eax - 1]
mov dword [esp + 0x24], eax
je 0x43e907
mov esi, dword [esp + 0xc]
lea eax, [ecx + edi]
mov eax, dword [esi + eax*4]
mov esi, dword [ebp + 8]
jmp 0x43e90c
mov eax, 0x7fff
mov edi, dword [esp + 0x24]
cmp edi, dword [esp + 0x18]
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x14], eax
je 0x43e9b2
cmp dword [esi + 0x130], 0
mov eax, dword [esi + 0x54]
mov edx, dword [eax + 0x10]
jne 0x43e9e0
cmp dword [ebp + 0x10], 0
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x14]
mov dword [eax + ecx*4 - 8], esi
mov eax, dword [edx - 0x10]
mov dword [esp + 0x18], eax
mov eax, dword [edx - 0xc]
mov dword [esp + 0xc], eax
je 0x43e967
mov ecx, dword [edx + edi*8 + 4]
mov eax, dword [edx + edi*8]
mov dword [edx - 0xc], ecx
mov ecx, dword [esp + 0x10]
mov dword [edx - 0x10], eax
jmp 0x43e96e
mov dword [edx - 0xc], 0xffffffff
mov esi, dword [ebp + 8]
lea edi, [ecx*8]
sub edx, edi
mov eax, dword [esi + 0x54]
mov dword [eax + 0x10], edx
lea eax, [ecx - 2]
push eax
push dword [esp + 0x28]
push esi
call fcn.0043f480
mov ecx, dword [esi + 0x54]
add esp, 0xc
mov dword [esp + 0x14], eax
mov edx, dword [ecx + 0x10]
add edx, edi
mov dword [ecx + 0x10], edx
mov ecx, dword [esp + 0x18]
mov dword [edx - 0x10], ecx
mov ecx, dword [esp + 0xc]
mov dword [edx - 0xc], ecx
mov edx, dword [esp + 8]
test eax, eax
je 0x43e5a8
mov eax, dword [edx - 4]
mov ecx, dword [esp + 0x14]
movzx edx, byte [eax - 3]
mov eax, dword [esi + 0x64]
mov dword [eax + edx*4], ecx
cmp edx, dword [esi + 0x6c]
jb 0x43e5a8
lea eax, [edx + 1]
pop edi
mov dword [esi + 0x6c], eax
pop esi
mov esp, ebp
pop ebp
ret
push 0x10
push esi
call fcn.00414ce0
push 0xc
push esi
call fcn.00414ce0
push 0xe
push esi
call fcn.00414ce0
push 8
push esi
call fcn.00414ce0
int3