Function at 0x10036340
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x10
push ebx
push ebp
push esi
mov esi, eax
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x58]
mov edx, dword [ecx + 0x10]
movzx ebx, byte [eax + 6]
push edi
mov edi, dword [edx - 4]
sar edi, 3
sub edi, ebx
dec edi
cmp dword [esi + 0xa0], 0
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x10], edi
jle 0x1003640a
test edi, edi
jns 0x10036384
mov dword [esp + 0x10], 0
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
cmp ecx, 0xffffffff
jne 0x1003639f
lea ecx, [edi + eax]
mov dword [esi + 0x64], ecx
mov dword [esp + 0x28], edi
mov ecx, edi
jmp 0x100363a9
add eax, ecx
cmp eax, dword [esi + 0x64]
jbe 0x100363a9
mov dword [esi + 0x64], eax
xor ebx, ebx
test ecx, ecx
jle 0x10036402
mov ebp, dword [esp + 0x24]
neg edi
add ebp, ebp
add edi, edi
or ecx, 0xffffffff
add ebp, ebp
add edi, edi
sub ecx, dword [esp + 0x10]
mov dword [esp + 0x1c], ecx
cmp ebx, dword [esp + 0x10]
jge 0x100363ea
mov eax, dword [esi + 0x5c]
mov eax, dword [edi + eax - 4]
test eax, eax
jne 0x100363ef
add ecx, ebx
push ecx
call fcn.10034020
mov ecx, dword [esp + 0x20]
add esp, 4
jmp 0x100363ef
mov eax, 0x7fff
mov edx, dword [esi + 0x5c]
mov dword [edx + ebp], eax
inc ebx
add edi, 4
add ebp, 4
cmp ebx, dword [esp + 0x28]
jl 0x100363c8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
mov eax, 0x4513
mov ecx, esi
mov word [esi + 0x74], ax
mov dword [esi + 0x70], 0x120000
call fcn.1002a220
mov ebp, eax
mov eax, dword [esp + 0x28]
lea ebx, [ebx*8 + 0xb]
test eax, eax
js 0x1003660a
test edi, edi
jle 0x1003658e
mov dword [esp + 0x18], eax
cmp edi, eax
jge 0x10036500
mov edx, dword [esi + 0x4c]
mov eax, dword [edx + 0x10]
mov edx, dword [eax - 4]
mov ecx, esi
mov dword [esp + 0x18], edi
call fcn.100238f0
mov ecx, 0x893
movzx eax, ax
mov word [esi + 0x74], cx
mov ecx, esi
mov word [esi + 0x70], bp
mov word [esi + 0x72], ax
call fcn.1002a220
mov edx, 0x2913
mov eax, 0x8000
mov ecx, esi
mov word [esi + 0x74], dx
mov word [esi + 0x70], ax
mov word [esi + 0x72], bp
call fcn.1002a220
lea edx, [ebx - 8]
mov ecx, esi
mov ebp, eax
call fcn.100238f0
movzx eax, ax
mov ecx, 0x2805
mov word [esi + 0x74], cx
mov ecx, esi
mov word [esi + 0x70], bp
mov word [esi + 0x72], ax
call fcn.1002a220
xor ebx, ebx
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x18], ebx
jle 0x100365be
mov edx, dword [esp + 0x24]
mov ebp, edi
neg ebp
add ebp, ebp
lea eax, [edx*4]
add ebp, ebp
mov dword [esp + 0x14], eax
add ebp, ebp
mov ecx, dword [esi + 0x4c]
mov edx, dword [ecx + 0x10]
mov edi, dword [edx + ebp - 4]
lea eax, [edx + ebp - 8]
cmp edi, 0xfffffff2
jae 0x10036514
mov edi, 0xe
jmp 0x10036516
lea edx, [ebx + eax*8]
mov ecx, esi
call fcn.100238f0
mov ecx, 0x193
jmp 0x10036463
not edi
mov edx, ebx
mov ecx, esi
call fcn.100238f0
mov dx, word [esp + 0x1c]
movzx eax, ax
mov ecx, 0x3805
mov word [esi + 0x74], cx
mov ecx, esi
mov word [esi + 0x70], dx
mov word [esi + 0x72], ax
call fcn.1002a220
mov ecx, edi
or ecx, 0x4680
mov word [esi + 0x74], cx
xor edx, edx
mov ecx, esi
mov word [esi + 0x70], ax
mov word [esi + 0x72], dx
call fcn.1002a220
cmp edi, 2
ja 0x1003656d
imul edi, edi, 0xffffff
lea eax, [edi + 0x7fff]
mov ecx, dword [esp + 0x14]
mov edx, dword [esi + 0x5c]
mov dword [ecx + edx], eax
inc ebx
add ecx, 4
add ebp, 8
mov dword [esp + 0x14], ecx
cmp ebx, dword [esp + 0x18]
jl 0x100364e6
jmp 0x100365ba
mov edx, ebx
mov ecx, esi
call fcn.100238f0
movzx eax, ax
mov ecx, 0x293
mov word [esi + 0x74], cx
mov ecx, esi
mov word [esi + 0x70], bp
mov word [esi + 0x72], ax
call fcn.1002a220
mov dword [esp + 0x10], 0
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x28]
cmp edi, edx
jge 0x100365f0
mov eax, dword [esp + 0x24]
add eax, edi
add eax, eax
mov ecx, edx
add eax, eax
sub ecx, edi
jmp 0x100365e0
mov edi, dword [esi + 0x5c]
mov dword [eax + edi], 0x7fff
add eax, 4
dec ecx
jne 0x100365e0
mov eax, dword [esp + 0x24]
add eax, edx
cmp eax, dword [esi + 0x64]
jbe 0x10036402
pop edi
mov dword [esi + 0x64], eax
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
mov ecx, esi
call fcn.100362e0
test eax, eax
je 0x10036907
mov edx, dword [esi + 0x5c]
mov ecx, dword [esp + 0x24]
mov eax, dword [edx + ecx*4 - 4]
mov edx, dword [esi + 0x4c]
mov edx, dword [edx + 0x10]
lea ecx, [edx + ecx*8 - 8]
push ecx
push eax
push esi
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], 0x7fff
call fcn.1001ff90
mov edi, eax
add esp, 0xc
test edi, edi
js 0x10036907
je 0x100366c2
mov eax, dword [esp + 0x14]
mov edx, eax
shr edx, 0x18
and edx, 0x1f
sub edx, 0xf
cmp edx, 4
jbe 0x1003667b
mov ecx, esi
mov word [esi + 0x70], ax
mov dword [esi + 0x72], 0x5593226e
call fcn.1002a220
mov dword [esp + 0x14], eax
mov ecx, 0x8000
cmp ax, cx
jae 0x100366c2
lea edx, [ebx + edi*8]
mov ecx, esi
call fcn.100238f0
xor edx, edx
cmp edi, dword [esp + 0x10]
movzx eax, ax
setle dl
mov ecx, 0x93
mov word [esi + 0x70], bp
mov word [esi + 0x72], ax
shl dx, 8
or dx, cx
mov ecx, esi
mov word [esi + 0x74], dx
call fcn.1002a220
sub ebx, 8
jmp 0x10036820
mov edx, ebx
mov ecx, esi
cmp edi, dword [esp + 0x10]
jg 0x100367a1
neg edx
call fcn.100238f0
movzx eax, ax
mov edx, 0x2813
mov ecx, esi
mov word [esi + 0x74], dx
mov word [esi + 0x70], bp
mov word [esi + 0x72], ax
call fcn.1002a220
cmp dword [esp + 0x1c], 0
mov dword [esp + 0x18], eax
je 0x10036726
xor edx, edx
mov ecx, esi
call fcn.100238f0
mov dx, word [esp + 0x18]
movzx eax, ax
mov ecx, 0x193
mov word [esi + 0x74], cx
mov ecx, esi
mov word [esi + 0x70], dx
mov word [esi + 0x72], ax
call fcn.1002a220
mov edx, 3
mov ecx, esi
call fcn.100238f0
mov dx, word [esp + 0x18]
movzx eax, ax
mov ecx, 0x2413
mov word [esi + 0x74], cx
mov ecx, esi
mov word [esi + 0x70], dx
mov word [esi + 0x72], ax
call fcn.1002a220
mov dword [esp + 0x18], eax
test edi, edi
je 0x100368e8
or edx, 0xffffffff
mov ecx, esi
call fcn.100238f0
mov dx, word [esp + 0x14]
movzx eax, ax
mov ecx, 0x2813
mov word [esi + 0x74], cx
mov ecx, esi
mov word [esi + 0x70], dx
mov word [esi + 0x72], ax
call fcn.1002a220
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
push ecx
push eax
push edx
mov dword [esp + 0x20], eax
call fcn.100352f0
add esp, 0xc
jmp 0x10036820
call fcn.100238f0
mov dword [esp + 0x1c], eax
mov ecx, esi
test edi, edi
je 0x100367f9
mov edx, 3
call fcn.100238f0
movzx edx, word [esp + 0x14]
movzx eax, ax
mov ecx, 0x2313
mov word [esi + 0x74], cx
mov ecx, esi
mov word [esi + 0x70], dx
mov word [esi + 0x72], ax
call fcn.1002a220
movzx edx, word [esp + 0x1c]
mov ecx, 0x2813
mov word [esi + 0x74], cx
mov ecx, esi
mov word [esi + 0x70], ax
mov word [esi + 0x72], dx
call fcn.1002a220
jmp 0x10036808
xor edx, edx
call fcn.100238f0
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x1c]
mov ecx, 0x93
mov word [esi + 0x74], cx
mov ecx, esi
mov word [esi + 0x70], bp
mov word [esi + 0x72], ax
call fcn.1002a220
test edi, edi
je 0x100368e8
cmp edi, dword [esp + 0x10]
jg 0x100368e8
mov edx, 0x2913
mov eax, 0x8000
mov ecx, esi
mov word [esi + 0x74], dx
mov word [esi + 0x70], ax
mov word [esi + 0x72], bp
call fcn.1002a220
lea edx, [ebx - 8]
mov ecx, esi
mov ebp, eax
call fcn.100238f0
movzx eax, ax
mov ecx, 0x2805
mov word [esi + 0x74], cx
mov ecx, esi
mov word [esi + 0x70], bp
mov word [esi + 0x72], ax
call fcn.1002a220
sub edi, dword [esp + 0x10]
mov edx, dword [esi + 0x4c]
mov ecx, dword [edx + 0x10]
lea ecx, [ecx + edi*8 - 0x10]
mov edi, dword [ecx + 4]
cmp edi, 0xfffffff2
jae 0x10036893
mov edi, 0xe
jmp 0x10036895
not edi
mov word [esi + 0x70], ax
mov ax, word [esp + 0x14]
mov edx, 0x3805
mov ecx, esi
mov word [esi + 0x74], dx
mov word [esi + 0x72], ax
call fcn.1002a220
mov ecx, edi
or ecx, 0x4680
mov word [esi + 0x74], cx
xor edx, edx
mov ecx, esi
mov word [esi + 0x70], ax
mov word [esi + 0x72], dx
call fcn.1002a220
mov dword [esp + 0x18], eax
cmp edi, 2
ja 0x100368e8
imul edi, edi, 0xffffff
add edi, 0x7fff
mov dword [esp + 0x18], edi
mov ecx, dword [esi + 0x5c]
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x18]
mov dword [ecx + eax*4 - 8], edx
pop edi
dec eax
mov dword [esi + 0x64], eax
mov byte [esi + 0x6f], 2
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
fld qword [0x10051458]
push 5
push esi
fstp qword [esi + 0x908]
call fcn.1003d350
int3