Function at 0x100372b0
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x24
push ebx
push esi
push edi
mov esi, edx
mov edi, ecx
mov dword [esp + 0x1c], edi
test esi, esi
je 0x1003750b
push 0
push 0x48
call fcn.10005140
mov ebx, eax
add esp, 8
mov dword [esp + 0x2c], ebx
test ebx, ebx
je 0x1003750b
push dword [ebp + 8]
mov edx, dword [esi]
mov ecx, edi
call fcn.10036d30
add esp, 4
mov dword [ebx], eax
mov edx, dword [esi + 0x20]
mov ecx, edi
push dword [ebp + 8]
call fcn.10036f00
add esp, 4
mov dword [ebx + 0x20], eax
mov edx, dword [esi + 0x24]
mov ecx, edi
push dword [ebp + 8]
call fcn.10036d10
add esp, 4
mov dword [ebx + 0x24], eax
mov edx, dword [esi + 0x28]
mov ecx, edi
push dword [ebp + 8]
call fcn.10036d30
add esp, 4
mov dword [ebx + 0x28], eax
mov edx, dword [esi + 0x2c]
mov ecx, edi
push dword [ebp + 8]
call fcn.10036d10
add esp, 4
mov dword [ebx + 0x2c], eax
mov edx, dword [esi + 0x30]
mov ecx, edi
push dword [ebp + 8]
call fcn.10036d30
add esp, 4
mov dword [ebx + 0x30], eax
mov al, byte [esi + 4]
mov ecx, edi
mov byte [ebx + 4], al
mov edx, dword [esi + 0x34]
push dword [ebp + 8]
call fcn.100372b0
add esp, 4
mov dword [ebx + 0x34], eax
test eax, eax
je 0x10037376
mov dword [eax + 0x38], ebx
push dword [ebp + 8]
mov dword [ebx + 0x38], 0
mov ecx, edi
mov edx, dword [esi + 0x3c]
call fcn.10036d10
add esp, 4
mov dword [ebx + 0x3c], eax
mov edx, dword [esi + 0x40]
mov ecx, edi
push dword [ebp + 8]
call fcn.10036d10
mov dword [ebx + 0x40], eax
mov ecx, 0xfff7
mov dword [ebx + 8], 0
add esp, 4
mov dword [ebx + 0xc], 0
mov ax, word [esi + 6]
and ax, cx
mov dword [ebx + 0x10], 0xffffffff
mov word [ebx + 6], ax
xor ecx, ecx
mov dword [ebx + 0x14], 0xffffffff
mov eax, dword [esi + 0x18]
mov dword [ebx + 0x18], eax
mov eax, dword [esi + 0x1c]
mov dword [ebx + 0x1c], eax
mov esi, dword [esi + 0x44]
mov dword [esp + 0x18], esi
test esi, esi
je 0x100374ff
mov eax, dword [esi]
shl eax, 4
lea ecx, [eax + 8]
cdq
add eax, 8
mov dword [esp + 0x14], ecx
mov ecx, edi
adc edx, 0
push edx
push eax
call fcn.10005140
mov ecx, eax
add esp, 8
mov dword [esp + 0x20], ecx
test ecx, ecx
je 0x100374ff
push dword [esp + 0x14]
push 0
push ecx
call fcn.100c1720
mov ecx, dword [esp + 0x2c]
add esp, 0xc
test ecx, ecx
je 0x100374ff
mov eax, dword [esi]
mov dword [ecx], eax
cmp dword [esi], 0
mov dword [esp + 0x10], 0
jle 0x100374ff
mov eax, dword [esp + 0x18]
lea ebx, [esi + 8]
sub eax, ecx
mov dword [esp + 0x14], ebx
lea esi, [ecx + 0x10]
mov dword [esp + 0x28], eax
nop dword [eax]
mov edx, dword [eax + esi]
mov ecx, edi
push 0
call fcn.100372b0
add esp, 4
mov dword [esi], eax
mov edx, dword [ebx + 4]
mov ecx, edi
push 0
call fcn.10036d30
mov dword [esi - 4], eax
add esp, 4
mov edi, dword [ebx]
test edi, edi
jne 0x1003748d
xor ebx, ebx
jmp 0x100374c9
cmp byte [edi], 0
mov eax, edi
je 0x1003749a
inc eax
cmp byte [eax], 0
jne 0x10037494
mov ecx, dword [esp + 0x1c]
sub eax, edi
and eax, 0x3fffffff
inc eax
push 0
push eax
mov dword [esp + 0x2c], eax
call fcn.10005140
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x100374c9
push dword [esp + 0x24]
push edi
push ebx
call fcn.100c18e0
add esp, 0xc
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
inc eax
mov edi, dword [esp + 0x1c]
mov dword [esi - 8], ebx
add esi, 0x10
mov ebx, dword [esp + 0x14]
add ebx, 0x10
mov dword [esp + 0x10], eax
cmp eax, dword [ecx]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x14], ebx
jl 0x10037460
mov ebx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x20]
mov dword [ebx + 0x44], ecx
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret