Function at 0x100375e0
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 + 0x20], edi
test esi, esi
je 0x1003783b
push 0
push 0x48
call fcn.100051a0
mov ebx, eax
add esp, 8
mov dword [esp + 0x2c], ebx
test ebx, ebx
je 0x1003783b
push dword [ebp + 8]
mov edx, dword [esi]
mov ecx, edi
call fcn.10037060
add esp, 4
mov dword [ebx], eax
mov edx, dword [esi + 0x20]
mov ecx, edi
push dword [ebp + 8]
call fcn.10037230
add esp, 4
mov dword [ebx + 0x20], eax
mov edx, dword [esi + 0x24]
mov ecx, edi
push dword [ebp + 8]
call fcn.10037040
add esp, 4
mov dword [ebx + 0x24], eax
mov edx, dword [esi + 0x28]
mov ecx, edi
push dword [ebp + 8]
call fcn.10037060
add esp, 4
mov dword [ebx + 0x28], eax
mov edx, dword [esi + 0x2c]
mov ecx, edi
push dword [ebp + 8]
call fcn.10037040
add esp, 4
mov dword [ebx + 0x2c], eax
mov edx, dword [esi + 0x30]
mov ecx, edi
push dword [ebp + 8]
call fcn.10037060
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.100375e0
add esp, 4
mov dword [ebx + 0x34], eax
test eax, eax
je 0x100376a6
mov dword [eax + 0x38], ebx
push dword [ebp + 8]
mov dword [ebx + 0x38], 0
mov ecx, edi
mov edx, dword [esi + 0x3c]
call fcn.10037040
add esp, 4
mov dword [ebx + 0x3c], eax
mov edx, dword [esi + 0x40]
mov ecx, edi
push dword [ebp + 8]
call fcn.10037040
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
mov dword [ebx + 0x14], 0xffffffff
mov ecx, dword [esi + 0x1c]
mov eax, dword [esi + 0x18]
mov dword [ebx + 0x1c], ecx
xor ecx, ecx
mov dword [ebx + 0x18], eax
mov esi, dword [esi + 0x44]
mov dword [esp + 0x1c], esi
test esi, esi
je 0x1003782f
mov eax, dword [esi]
shl eax, 4
lea ecx, [eax + 8]
cdq
add eax, 8
mov dword [esp + 0x18], ecx
mov ecx, edi
adc edx, 0
push edx
push eax
call fcn.100051a0
mov ecx, eax
add esp, 8
mov dword [esp + 0x10], ecx
test ecx, ecx
je 0x1003782f
push dword [esp + 0x18]
push 0
push ecx
call fcn.100c1e30
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov eax, dword [esi]
mov dword [esp + 0x14], 0
mov dword [ecx], eax
cmp dword [esi], 0
jle 0x1003782f
mov eax, dword [esp + 0x1c]
lea ebx, [esi + 8]
sub eax, ecx
mov dword [esp + 0x18], ebx
lea esi, [ecx + 0x10]
mov dword [esp + 0x28], eax
mov dword [esp + 0x10], ecx
nop dword [eax]
mov edx, dword [eax + esi]
mov ecx, edi
push 0
call fcn.100375e0
add esp, 4
mov dword [esi], eax
mov edx, dword [ebx + 4]
mov ecx, edi
push 0
call fcn.10037060
mov dword [esi - 4], eax
add esp, 4
mov edi, dword [ebx]
test edi, edi
jne 0x100377bd
xor ebx, ebx
jmp 0x100377f9
cmp byte [edi], 0
mov eax, edi
je 0x100377ca
inc eax
cmp byte [eax], 0
jne 0x100377c4
mov ecx, dword [esp + 0x20]
sub eax, edi
and eax, 0x3fffffff
inc eax
push 0
push eax
mov dword [esp + 0x2c], eax
call fcn.100051a0
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x100377f9
push dword [esp + 0x24]
push edi
push ebx
call fcn.100c1ff0
add esp, 0xc
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
inc eax
mov edi, dword [esp + 0x20]
mov dword [esi - 8], ebx
add esi, 0x10
mov ebx, dword [esp + 0x18]
add ebx, 0x10
mov dword [esp + 0x14], eax
cmp eax, dword [ecx]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x18], ebx
jl 0x10037790
mov ebx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x10]
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