Function at 0x100372e0
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 0x1003753b
push 0
push 0x48
call fcn.10005190
mov ebx, eax
add esp, 8
mov dword [esp + 0x2c], ebx
test ebx, ebx
je 0x1003753b
push dword [ebp + 8]
mov edx, dword [esi]
mov ecx, edi
call fcn.10036d60
add esp, 4
mov dword [ebx], eax
mov edx, dword [esi + 0x20]
mov ecx, edi
push dword [ebp + 8]
call fcn.10036f30
add esp, 4
mov dword [ebx + 0x20], eax
mov edx, dword [esi + 0x24]
mov ecx, edi
push dword [ebp + 8]
call fcn.10036d40
add esp, 4
mov dword [ebx + 0x24], eax
mov edx, dword [esi + 0x28]
mov ecx, edi
push dword [ebp + 8]
call fcn.10036d60
add esp, 4
mov dword [ebx + 0x28], eax
mov edx, dword [esi + 0x2c]
mov ecx, edi
push dword [ebp + 8]
call fcn.10036d40
add esp, 4
mov dword [ebx + 0x2c], eax
mov edx, dword [esi + 0x30]
mov ecx, edi
push dword [ebp + 8]
call fcn.10036d60
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.100372e0
add esp, 4
mov dword [ebx + 0x34], eax
test eax, eax
je 0x100373a6
mov dword [eax + 0x38], ebx
push dword [ebp + 8]
mov dword [ebx + 0x38], 0
mov ecx, edi
mov edx, dword [esi + 0x3c]
call fcn.10036d40
add esp, 4
mov dword [ebx + 0x3c], eax
mov edx, dword [esi + 0x40]
mov ecx, edi
push dword [ebp + 8]
call fcn.10036d40
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 0x1003752f
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.10005190
mov ecx, eax
add esp, 8
mov dword [esp + 0x20], ecx
test ecx, ecx
je 0x1003752f
push dword [esp + 0x14]
push 0
push ecx
call fcn.100c1600
mov ecx, dword [esp + 0x2c]
add esp, 0xc
test ecx, ecx
je 0x1003752f
mov eax, dword [esi]
mov dword [ecx], eax
cmp dword [esi], 0
mov dword [esp + 0x10], 0
jle 0x1003752f
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.100372e0
add esp, 4
mov dword [esi], eax
mov edx, dword [ebx + 4]
mov ecx, edi
push 0
call fcn.10036d60
mov dword [esi - 4], eax
add esp, 4
mov edi, dword [ebx]
test edi, edi
jne 0x100374bd
xor ebx, ebx
jmp 0x100374f9
cmp byte [edi], 0
mov eax, edi
je 0x100374ca
inc eax
cmp byte [eax], 0
jne 0x100374c4
mov ecx, dword [esp + 0x1c]
sub eax, edi
and eax, 0x3fffffff
inc eax
push 0
push eax
mov dword [esp + 0x2c], eax
call fcn.10005190
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x100374f9
push dword [esp + 0x24]
push edi
push ebx
call fcn.100c17c0
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 0x10037490
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