Function at 0x7003e4e0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x1c
mov edx, dword [esp + 0x24]
mov eax, dword [edx]
test eax, eax
je 0x7003b110
mov edx, dword [edx + 4]
add eax, edx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 4], edx
add eax, 0xb8
mov dword [esp], eax
call fcn.7002f320
mov eax, 1
add esp, 0x1c
ret
sub esp, 0x1c
mov edx, dword [esp + 0x24]
mov eax, dword [edx]
test eax, eax
je 0x7003b150
mov edx, dword [edx + 4]
add eax, edx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 4], edx
add eax, 0xd4
mov dword [esp], eax
call fcn.7002f320
mov eax, 1
add esp, 0x1c
ret
push esi
push ebx
sub esp, 0x14
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov esi, dword [eax]
mov edx, dword [eax + 4]
xor eax, eax
cmp esi, 4
jle 0x7003b1c3
movzx eax, byte [edx]
add esi, edx
add ecx, 0xf0
add edx, 4
mov dword [ecx - 0x3c], eax
movzx ebx, byte [edx - 3]
shl ebx, 8
or ebx, eax
mov dword [ecx - 0x3c], ebx
movzx eax, byte [edx - 2]
shl eax, 0x10
or eax, ebx
mov dword [ecx - 0x3c], eax
movzx ebx, byte [edx - 1]
shl ebx, 0x18
or ebx, eax
mov dword [ecx - 0x3c], ebx
mov dword [esp + 8], esi
mov dword [esp + 4], edx
mov dword [esp], ecx
call fcn.7002f320
mov eax, 1
add esp, 0x14
pop ebx
pop esi
ret
push edi
push esi
push ebx
sub esp, 0x10
mov esi, dword [esp + 0x24]
mov ebx, dword [esp + 0x20]
mov ecx, dword [esi]
cmp ecx, 2
je 0x7003b843
mov eax, dword [ebx + 0x18]
and eax, 0x40000004
cmp eax, 1
sbb edx, edx
xor eax, eax
and edx, 4
add edx, 4
cmp edx, ecx
jle 0x7003b790
add esp, 0x10
pop ebx
pop esi
pop edi
ret
mov edi, dword [esi + 4]
movzx eax, byte [edi + 1]
movzx edx, byte [edi]
shl eax, 8
add eax, edx
cwde
mov dword [esp], eax
call fcn.700403e0
mov dword [ebx + 0x130], eax
movzx eax, byte [edi + 3]
movzx edx, byte [edi + 2]
shl eax, 8
add eax, edx
cwde
mov dword [esp], eax
call fcn.700403e0
test dword [ebx + 0x18], 0x40000004
mov dword [ebx + 0x120], eax
je 0x7003b7f1
mov edx, dword [esi]
add edi, 4
mov eax, 6
cmp edx, eax
je 0x7003b880
add esp, 0x10
mov eax, 1
pop ebx
pop esi
pop edi
ret
movzx eax, byte [edi + 5]
add edi, 8
movzx edx, byte [edi - 4]
shl eax, 8
add eax, edx
cwde
mov dword [esp], eax
call fcn.700403e0
mov dword [ebx + 0x134], eax
movzx eax, byte [edi - 1]
movzx edx, byte [edi - 2]
shl eax, 8
add eax, edx
cwde
mov dword [esp], eax
call fcn.700403e0
mov edx, dword [esi]
mov dword [ebx + 0x124], eax
mov eax, dword [ebx + 0x18]
and eax, 0x40000004
cmp eax, 1
sbb eax, eax
and eax, 6
add eax, 6
jmp 0x7003b7dd
mov esi, dword [esi + 4]
movsx eax, byte [esi]
mov dword [esp], eax
call fcn.70041b80
shl eax, 0x10
mov dword [ebx + 0x120], eax
movsx eax, byte [esi + 1]
mov dword [esp], eax
call fcn.70041b80
shl eax, 0x10
mov dword [ebx + 0x124], eax
mov eax, 1
jmp 0x7003b782
movzx eax, byte [edi + 1]
movzx edx, byte [edi]
shl eax, 8
add eax, edx
cwde
mov dword [esp], eax
call fcn.700403e0
test dword [ebx + 0x18], 0x40000004
mov dword [ebx + 0x128], eax
jne 0x7003b7e5
movzx eax, byte [edi + 3]
movzx edx, byte [edi + 2]
shl eax, 8
add eax, edx
cwde
mov dword [esp], eax
call fcn.700403e0
mov dword [ebx + 0x12c], eax
jmp 0x7003b7e5
push ebx
mov edx, dword [esp + 0xc]
xor eax, eax
mov ecx, dword [esp + 8]
cmp dword [edx], 4
mov ebx, dword [edx + 4]
je 0x7003b8e5
pop ebx
ret
movzx eax, byte [ebx]
mov byte [ecx + 0x118], al
movzx eax, byte [ebx + 1]
mov byte [ecx + 0x119], al
movzx eax, byte [ebx + 2]
mov byte [ecx + 0x11a], al
movzx eax, byte [ebx + 3]
mov byte [ecx + 0x11b], al
mov eax, 1
pop ebx
ret
push esi
push ebx
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov esi, dword [edx]
mov ebx, dword [edx + 4]
cmp esi, 2
jle 0x7003ba42
movzx edx, byte [eax + 0x14]
mov dword [eax + 0x14], edx
movzx ecx, byte [ebx]
shl ecx, 8
or ecx, edx
mov dword [eax + 0x14], ecx
movzx edx, byte [ebx + 1]
shl edx, 0x10
or edx, ecx
mov dword [eax + 0x14], edx
movzx ecx, byte [ebx + 2]
shl ecx, 0x18
or ecx, edx
cmp esi, 3
mov dword [eax + 0x14], ecx
je 0x7003ba42
and ecx, 0x2000000
je 0x7003ba42
movzx edx, byte [ebx + 3]
mov dword [eax + 0x18], edx
mov eax, 1
pop ebx
pop esi
ret
push ebx
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
cmp dword [eax], 3
mov edx, dword [eax + 4]
jne 0x7003ba7f
movzx ebx, byte [edx]
mov dword [ecx + 0x2c], ebx
movzx eax, byte [edx + 1]
shl eax, 8
or eax, ebx
mov dword [ecx + 0x2c], eax
movzx edx, byte [edx + 2]
shl edx, 0x10
or edx, eax
mov dword [ecx + 0x2c], edx
mov eax, 1
pop ebx
ret
push esi
push ebx
sub esp, 0x14
mov ebx, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
test byte [ebx + 0x9c], 4
je 0x7003bab0
mov eax, dword [ebx + 0x60]
cmp eax, 0xffffff
jbe 0x7003bac0
add esp, 0x14
mov eax, 1
pop ebx
pop esi
ret
add eax, dword [esi]
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x5c]
mov dword [esp], eax
call sub.msvcrt.dll_realloc
mov edx, dword [esi + 4]
mov ecx, dword [esi]
mov dword [ebx + 0x5c], eax
add eax, dword [ebx + 0x60]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov eax, dword [esi]
add dword [ebx + 0x60], eax
add esp, 0x14
mov eax, 1
pop ebx
pop esi
ret
push esi
push ebx
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [edx + 0x190]
mov esi, dword [edx + 0x180]
mov esi, dword [eax + esi*4]
movzx eax, byte [ecx + 8]
cmp al, 0x27
ja case.0x7003e508.1
movzx ebx, al
jmp dword [ebx*4 + 0x70794cb0]
mov eax, 1
pop ebx
pop esi
ret
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], esi
pop ebx
pop esi
jmp fcn.7003b1d0
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], esi
pop ebx
pop esi
jmp fcn.7003b2b0
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], esi
pop ebx
pop esi
jmp fcn.7003b3b0
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], esi
pop ebx
pop esi
jmp fcn.70040430
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], esi
pop ebx
pop esi
jmp fcn.700405d0
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], esi
pop ebx
pop esi
jmp 0x7003b750
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], esi
pop ebx
pop esi
jmp 0x70042690
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], esi
pop ebx
pop esi
jmp 0x7003b8d0
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], esi
pop ebx
pop esi
jmp 0x7003b0e0
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], esi
pop ebx
pop esi
jmp 0x7003b120
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], esi
pop ebx
pop esi
jmp 0x7003b160
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], edx
pop ebx
pop esi
jmp fcn.7003b920
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], edx
pop ebx
pop esi
jmp 0x7003ba90
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], edx
pop ebx
pop esi
jmp 0x7003b9f0
cmp dword [ecx], 0x10
mov eax, 1
jne 0x7003e515
mov ecx, dword [ecx + 4]
mov esi, dword [ecx]
mov dword [edx + 0x34], esi
mov esi, dword [ecx + 4]
mov dword [edx + 0x38], esi
mov esi, dword [ecx + 8]
mov dword [edx + 0x3c], esi
mov ecx, dword [ecx + 0xc]
or dword [edx + 0x14], 0x8000000
mov byte [edx + 0x44], 1
mov dword [edx + 0x40], ecx
jmp 0x7003e515
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], edx
pop ebx
pop esi
jmp 0x7003ba50
shr al, 5
and eax, 1
jmp 0x7003e515
push ebx
mov edx, dword [esp + 0xc]
xor eax, eax
mov ecx, dword [esp + 8]
cmp dword [edx], 4
mov ebx, dword [edx + 4]
je 0x700426a5
pop ebx
ret
movzx eax, byte [ebx]
mov byte [ecx + 0x11c], al
movzx eax, byte [ebx + 1]
mov byte [ecx + 0x11d], al
movzx eax, byte [ebx + 2]
mov byte [ecx + 0x11e], al
movzx eax, byte [ebx + 3]
mov byte [ecx + 0x11f], al
mov eax, 1
pop ebx
ret