Function at 0x73e4c9f0
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov edi, ecx
movzx ecx, word [ebx + 2]
lea eax, [ecx - 0x113e]
cmp eax, 0x42
ja case.0x73e4ca18.4415
movzx eax, byte [eax + 0x73e4d008]
jmp dword [eax*4 + 0x73e4cfd4]
cmp byte [edi + 0x88], 0
jne 0x73e4ca5f
push 1
lea ecx, [edi + 0xb0]
call fcn.73e51e30
test eax, eax
je case.0x73e4ca18.4415
mov eax, dword [edi + 0xb0]
or dword [eax], 0x8000000
xor ecx, ecx
mov eax, dword [edi + 0xb0]
mov word [eax + 0xc], cx
mov eax, dword [edi + 0xb0]
mov word [eax + 0xe], cx
pop edi
pop esi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret 8
mov esi, dword [edi + 0x80]
movzx eax, word [esi + 2]
add eax, 0xffffeef1
cmp eax, 0x66
ja case.0x73e4ca85.4369
movzx eax, byte [eax + 0x73e4d054]
jmp dword [eax*4 + 0x73e4d04c]
cmp dword [edi + 0x10], 3
jne 0x73e4ca97
mov eax, dword [edi + 0x28]
jmp 0x73e4ca99
xor eax, eax
mov ecx, dword [edi + 8]
push eax
push 0
push dword [esi + 4]
push dword [edi + 0x1c]
call fcn.73deb610
mov esi, eax
jmp 0x73e4ca70
cmp byte [edi + 0x88], 0
mov ebx, dword [esi + 0x10]
je 0x73e4cada
push dword [esi + 0x20]
movzx eax, word [esi + 0x24]
mov ecx, dword [edi + 8]
push eax
call fcn.73df3d60
mov ecx, dword [edi + 0x8c]
cmp ecx, eax
jb 0x73e4cb4b
add eax, ebx
cmp ecx, eax
jae 0x73e4cb4b
add edi, 0xb0
push 1
mov ecx, edi
call fcn.73e51e30
test eax, eax
je case.0x73e4ca18.4415
mov ecx, dword [edi]
mov ax, word [esi + 0x24]
mov word [ecx], ax
mov ecx, dword [edi]
mov eax, dword [esi + 0x20]
mov dword [ecx + 4], eax
mov ecx, dword [edi]
mov eax, dword [esi + 0x10]
mov dword [ecx + 8], eax
mov eax, dword [edi]
mov byte [eax + 2], 1
mov eax, dword [edi]
and dword [eax], 0xfeffffff
mov eax, dword [edi]
and dword [eax], 0xfdffffff
mov eax, dword [edi]
or dword [eax], 0x4000000
mov eax, dword [edi]
and dword [eax], 0xf7ffffff
mov eax, dword [edi]
and dword [eax], 0xdfffffff
xor ecx, ecx
mov eax, dword [edi]
mov word [eax + 0xc], cx
mov eax, dword [edi]
mov word [eax + 0xe], cx
mov eax, dword [edi]
mov dword [eax + 0x18], ecx
pop edi
pop esi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret 8
movzx eax, word [ebx + 0xc]
mov word [ebp - 0x20], ax
mov eax, dword [ebx + 8]
mov dword [ebp - 0x1c], eax
movzx eax, word [ebx + 0xe]
mov dword [ebp - 0x18], eax
movzx eax, word [ebx + 6]
push 0
and ax, 1
push 0
push dword [ebp + 0xc]
add ax, ax
movzx eax, ax
push eax
movzx eax, word [ebx]
sub eax, 0xe
shr eax, 2
inc eax
push eax
movzx eax, word [ebx + 4]
push 5
push 0
push eax
lea eax, [ebx + 0x10]
push eax
lea eax, [ebp - 0x20]
mov ecx, edi
push eax
call fcn.73e461a0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
movzx eax, word [ebx + 0x10]
mov ecx, edi
mov word [ebp - 0x20], ax
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x1c], eax
movzx eax, word [ebx + 0x12]
mov dword [ebp - 0x18], eax
mov eax, dword [ebx + 8]
and eax, 0xfff
push 0
push eax
movzx eax, word [ebx + 6]
push dword [ebp + 0xc]
and ax, 1
add ax, ax
or ax, 1
movzx eax, ax
push eax
movzx eax, word [ebx]
sub eax, 0x12
shr eax, 2
inc eax
push eax
movzx eax, word [ebx + 4]
push 5
push 0
push eax
lea eax, [ebx + 0x14]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.73e461a0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov ecx, edi
call fcn.73e4d120
test al, al
je case.0x73e4ca18.4415
mov ax, word [ebx + 0xc]
mov ecx, edi
mov word [ebp - 0x20], ax
mov eax, dword [ebx + 8]
mov dword [ebp - 0x1c], eax
movzx eax, word [ebx + 0xe]
mov dword [ebp - 0x18], eax
movzx eax, word [ebx]
sub eax, 0xe
shr eax, 2
inc eax
movzx esi, ax
call fcn.73e4d0d0
push 0
push 0
push dword [ebp + 0xc]
movzx eax, ax
push 0
push esi
push 3
push dword [ebx + 4]
jmp 0x73e4cb94
mov ax, word [ebx + 0x10]
movzx ecx, word [ebx + 6]
mov word [ebp - 0x20], ax
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x1c], eax
movzx eax, word [ebx + 0x12]
mov dword [ebp - 0x18], eax
mov eax, ecx
push 0
shr eax, 4
and ecx, 1
push eax
push dword [ebp + 0xc]
movzx eax, word [ebx]
sub eax, 0x12
shr eax, 2
push ecx
inc eax
push eax
movzx eax, word [ebx + 4]
push 3
push dword [ebx + 8]
push eax
lea eax, [ebx + 0x14]
jmp 0x73e4cb98
mov ecx, edi
call fcn.73e4d120
test al, al
je case.0x73e4ca18.4415
mov ecx, edi
call fcn.73e4d3d0
test al, al
je case.0x73e4ca18.4415
mov ecx, edi
call fcn.73e4d0d0
push 0
push 0
push dword [ebp + 0xc]
movzx eax, ax
mov ecx, edi
push 0
push 1
push 3
push dword [ebx + 4]
mov dword [ebp - 0xc], eax
push eax
push 0
lea eax, [edi + 0x98]
push eax
call fcn.73e461a0
mov cl, al
xor esi, esi
mov byte [ebp - 1], cl
test cl, cl
je 0x73e4cd43
xor edx, edx
mov dword [ebp - 8], edx
nop
cmp esi, dword [edi + 0xa8]
jae 0x73e4cd43
mov eax, dword [edi + 0xa4]
mov ecx, edi
push 0
push 0
push dword [ebp + 0xc]
add eax, edx
push 0
push 1
push 3
push dword [ebx + 4]
push dword [ebp - 0xc]
push 0
push eax
call fcn.73e461a0
mov cl, byte [ebp - 1]
inc esi
mov edx, dword [ebp - 8]
and cl, al
add edx, 0xc
mov byte [ebp - 1], cl
mov dword [ebp - 8], edx
test cl, cl
jne 0x73e4cd00
pop edi
pop esi
mov al, cl
pop ebx
mov esp, ebp
pop ebp
ret 8
mov ax, word [ebx + 0x14]
movzx ecx, word [ebx + 6]
mov word [ebp - 0x20], ax
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x1c], eax
movzx eax, word [ebx + 0x16]
mov dword [ebp - 0x18], eax
mov eax, ecx
shr eax, 4
and ecx, 1
push eax
push dword [ebx + 0xc]
movzx eax, word [ebx]
push dword [ebp + 0xc]
sub eax, 0x16
shr eax, 2
push ecx
inc eax
push eax
movzx eax, word [ebx + 4]
push 0xb
push dword [ebx + 8]
push eax
lea eax, [ebx + 0x18]
jmp 0x73e4cb98
mov eax, 0x1157
cmp cx, ax
mov ecx, edi
sete al
movzx eax, al
push eax
push dword [ebp + 0xc]
push ebx
call fcn.73e463b0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov ecx, edi
call fcn.73e4d120
test al, al
je case.0x73e4ca18.4415
mov ecx, edi
call fcn.73e4d3d0
test al, al
je case.0x73e4ca18.4415
mov esi, dword [edi + 0xb4]
lea eax, [ebx + 4]
mov ecx, dword [edi + 0x9c]
mov dword [ebp - 0x10], eax
mov ax, word [ebx]
mov ebx, dword [edi + 0xa0]
sub ax, 2
cmp byte [edi + 0x88], 0
movzx eax, ax
mov dword [ebp - 0x14], eax
lea eax, [esi + 1]
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], ebx
je 0x73e4ce38
movzx eax, word [edi + 0x98]
push ecx
mov ecx, dword [edi + 8]
push eax
call fcn.73df3d60
mov ecx, dword [edi + 0x8c]
cmp ecx, eax
jb 0x73e4ceb2
add eax, ebx
cmp ecx, eax
jae 0x73e4ceb2
lea eax, [esi + 1]
lea ebx, [edi + 0xb0]
push eax
mov ecx, ebx
call fcn.73e51e30
test eax, eax
je case.0x73e4ca18.4415
mov eax, dword [ebx]
xor ecx, ecx
shl esi, 5
add eax, esi
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], ecx
mov dword [eax + 0x18], ecx
mov dword [eax + 0x1c], ecx
mov eax, dword [ebx]
mov ecx, dword [ebp - 0xc]
mov dword [esi + eax + 4], ecx
mov eax, dword [ebx]
mov ecx, dword [ebp - 8]
mov dword [esi + eax + 8], ecx
mov ecx, dword [ebx]
movzx eax, word [edi + 0x98]
mov word [esi + ecx], ax
mov eax, dword [ebx]
mov byte [esi + eax + 2], 0xa
mov ecx, dword [ebx]
mov ax, word [ebp + 0xc]
mov word [esi + ecx + 0xc], ax
mov eax, dword [ebx]
mov ecx, dword [ebp - 0x10]
mov dword [esi + eax + 0x10], ecx
mov eax, dword [ebx]
mov ecx, dword [ebp - 0x14]
mov word [esi + eax + 0x14], cx
pop edi
pop esi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret 8
mov ecx, edi
call fcn.73e4d120
test al, al
je case.0x73e4ca18.4415
mov ecx, edi
call fcn.73e4d3d0
test al, al
je case.0x73e4ca18.4415
cmp byte [edi + 0x88], 0
mov eax, dword [ebx + 4]
mov esi, dword [edi + 0xb4]
mov ecx, dword [edi + 0x9c]
mov dword [ebp - 8], eax
movzx eax, word [ebx + 8]
mov ebx, dword [edi + 0xa0]
mov dword [ebp - 0xc], eax
lea eax, [esi + 1]
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x10], ebx
je 0x73e4cf38
movzx eax, word [edi + 0x98]
push ecx
mov ecx, dword [edi + 8]
push eax
call fcn.73df3d60
mov ecx, dword [edi + 0x8c]
cmp ecx, eax
jb 0x73e4cfbb
add eax, ebx
cmp ecx, eax
jae 0x73e4cfbb
lea eax, [esi + 1]
lea ebx, [edi + 0xb0]
push eax
mov ecx, ebx
call fcn.73e51e30
test eax, eax
je case.0x73e4ca18.4415
mov eax, dword [ebx]
xor ecx, ecx
shl esi, 5
add eax, esi
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], ecx
mov dword [eax + 0x18], ecx
mov dword [eax + 0x1c], ecx
mov eax, dword [ebx]
mov ecx, dword [ebp - 0x14]
mov dword [esi + eax + 4], ecx
mov eax, dword [ebx]
mov ecx, dword [ebp - 0x10]
mov dword [esi + eax + 8], ecx
mov ecx, dword [ebx]
movzx eax, word [edi + 0x98]
mov word [esi + ecx], ax
mov eax, dword [ebx]
mov byte [esi + eax + 2], 1
mov ecx, dword [ebx]
mov ax, word [ebp + 0xc]
mov word [esi + ecx + 0xc], ax
mov eax, dword [ebx]
mov ecx, dword [ebp - 0xc]
or dword [esi + eax], 0x10000000
mov eax, dword [ebx]
mov word [esi + eax + 0x10], cx
mov eax, dword [ebx]
mov ecx, dword [ebp - 8]
mov dword [esi + eax + 0x14], ecx
pop edi
pop esi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret 8
pop edi
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret 8