Function at 0x7c72d0
Capabilities:
Enumerate pe sections

Disassembly:
mov eax, dword [esp + 0x10]
sub esp, 0x14
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x30]
test eax, eax
je 0x7c77f1
mov esi, dword [esp + 0x28]
mov ebp, dword [esp + 0x38]
mov edx, dword [esi + 0x1c]
mov dword [esp + 0x18], edx
test ebp, ebp
je 0x7c7394
mov al, byte [edi + 3]
mov bl, byte [edi]
mov dl, byte [edi + 1]
mov cl, byte [edi + 2]
mov byte [edi], al
mov al, byte [edi + 7]
mov byte [edi + 1], cl
mov cl, byte [edi + 6]
mov byte [edi + 2], dl
mov dl, byte [edi + 5]
mov byte [edi + 3], bl
mov bl, byte [edi + 4]
mov byte [edi + 4], al
mov al, byte [edi + 0xb]
mov byte [edi + 5], cl
mov cl, byte [edi + 0xa]
mov byte [edi + 6], dl
mov dl, byte [edi + 9]
mov byte [edi + 7], bl
mov bl, byte [edi + 8]
mov byte [edi + 8], al
mov al, byte [edi + 0xf]
mov byte [edi + 9], cl
mov cl, byte [edi + 0xe]
mov byte [edi + 0xa], dl
mov dl, byte [edi + 0xd]
mov byte [edi + 0xb], bl
mov bl, byte [edi + 0xc]
mov byte [edi + 0xc], al
mov al, byte [edi + 0x13]
mov byte [edi + 0xd], cl
mov cl, byte [edi + 0x12]
mov byte [edi + 0xe], dl
mov dl, byte [edi + 0x11]
mov byte [edi + 0xf], bl
mov bl, byte [edi + 0x10]
mov byte [edi + 0x10], al
mov al, byte [edi + 0x15]
mov byte [edi + 0x11], cl
mov cl, byte [edi + 0x14]
mov byte [edi + 0x14], al
mov al, byte [edi + 0x17]
mov byte [edi + 0x15], cl
mov cl, byte [edi + 0x16]
mov byte [edi + 0x12], dl
mov edx, dword [esp + 0x18]
mov byte [edi + 0x16], al
mov eax, dword [esp + 0x34]
mov byte [edi + 0x13], bl
mov byte [edi + 0x17], cl
lea ecx, [edi + eax]
mov eax, dword [esi + 0x2e0]
mov dword [esp + 0x14], ecx
test eax, 0x400
je 0x7c73af
mov eax, 0x26
jmp 0x7c73bb
and al, 1
movzx eax, al
neg eax
sbb eax, eax
and eax, 6
lea ebx, [edi + 0x1a]
add ebx, eax
mov dword [esp + 0x10], ebx
cmp ebx, ecx
jae case.0x7c73e0.0
movzx eax, byte [edi + 0x19]
cmp eax, 0xd
ja case.0x7c73e0.1
movzx eax, byte [eax + 0x7c7a20]
jmp dword [eax*4 + 0x7c7a08]
movzx eax, word [edi + 0x14]
xor ecx, ecx
mov dword [esp + 0x1c], ecx
mov edx, eax
mov dword [esp + 0x20], ecx
cmp cx, ax
jae 0x7c75ee
movzx edx, cx
test ebp, ebp
je 0x7c7415
mov cl, byte [ebx + edx*2]
mov al, byte [ebx + edx*2 + 1]
mov byte [ebx + edx*2], al
mov byte [ebx + edx*2 + 1], cl
mov ecx, dword [esi + 0x2e0]
mov esi, ecx
and ecx, 1
and esi, 0x400
je 0x7c742f
mov eax, 0x26
jmp 0x7c7438
mov eax, ecx
neg eax
sbb eax, eax
and eax, 6
lea eax, [eax + edx*2]
movzx eax, word [eax + edi + 0x1a]
add eax, edi
cmp eax, dword [esp + 0x14]
jae case.0x7c7476.1
test esi, esi
je 0x7c7457
mov eax, 0x26
jmp 0x7c7460
mov eax, ecx
neg eax
sbb eax, eax
and eax, 6
lea eax, [eax + edx*2]
movzx eax, word [eax + edi + 0x1a]
movzx eax, byte [eax + edi]
dec eax
cmp eax, 3
ja case.default.0x7c7476
jmp dword [eax*4 + 0x7c7a30]
mov ebx, dword [esp + 0x1c]
test bx, bx
jne 0x7c748f
mov eax, dword [esp + 0x34]
movzx eax, ax
jmp 0x7c74ab
test esi, esi
je 0x7c749a
mov eax, 0x26
jmp 0x7c74a3
mov eax, ecx
neg eax
sbb eax, eax
and eax, 6
lea eax, [eax + edx*2]
movzx eax, word [eax + edi + 0x18]
test esi, esi
movzx edx, ax
movzx esi, bx
je 0x7c74c3
sub dx, word [edi + esi*2 + 0x40]
mov ecx, 0x26
dec dx
jmp 0x7c74dc
mov eax, ecx
neg eax
sbb eax, eax
and eax, 6
add eax, edi
sub dx, word [eax + esi*2 + 0x1a]
dec dx
neg ecx
sbb ecx, ecx
and ecx, 6
lea eax, [ecx + esi*2]
movzx edx, dx
movzx eax, word [eax + edi + 0x1a]
inc eax
movzx ebx, dx
add eax, edi
add ebx, eax
cmp eax, ebx
jae 0x7c75b5
mov cl, byte [eax + 1]
test ebp, ebp
je 0x7c750a
mov dl, byte [eax]
mov byte [eax], cl
mov byte [eax + 1], dl
movzx esi, word [eax]
jmp 0x7c7514
movzx edx, word [eax]
mov esi, edx
mov byte [eax], cl
mov byte [eax + 1], dl
movzx ecx, si
add eax, ecx
mov dl, byte [eax + 2]
mov cl, byte [eax + 3]
mov byte [eax + 2], cl
mov byte [eax + 3], dl
add eax, 4
cmp eax, ebx
jb 0x7c74f7
jmp 0x7c75b5
test esi, esi
je 0x7c753c
mov ecx, 0x26
jmp 0x7c7543
neg ecx
sbb ecx, ecx
and ecx, 6
lea eax, [ecx + edx*2]
movzx esi, word [eax + edi + 0x1a]
mov al, byte [esi + edi + 7]
add esi, edi
mov bl, byte [esi + 4]
mov dl, byte [esi + 5]
mov cl, byte [esi + 6]
mov byte [esi + 4], al
mov byte [esi + 5], cl
mov byte [esi + 6], dl
mov byte [esi + 7], bl
jmp 0x7c75b5
test esi, esi
je 0x7c7573
mov ecx, 0x26
jmp 0x7c757a
neg ecx
sbb ecx, ecx
and ecx, 6
lea eax, [ecx + edx*2]
movzx esi, word [eax + edi + 0x1a]
mov al, byte [esi + edi + 7]
add esi, edi
mov bl, byte [esi + 4]
mov dl, byte [esi + 5]
mov cl, byte [esi + 6]
mov byte [esi + 4], al
mov byte [esi + 5], cl
mov byte [esi + 6], dl
mov byte [esi + 7], bl
mov bl, byte [esi + 8]
mov dl, byte [esi + 9]
mov cl, byte [esi + 0xa]
mov al, byte [esi + 0xb]
mov byte [esi + 8], al
mov byte [esi + 9], cl
mov byte [esi + 0xa], dl
mov byte [esi + 0xb], bl
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
movzx eax, word [edi + 0x14]
inc ecx
mov dword [esp + 0x1c], ecx
mov edx, eax
cmp cx, ax
jae 0x7c75ee
mov esi, dword [esp + 0x28]
jmp 0x7c7400
push dword [esp + 0x2c]
push dword [esp + 0x1c]
call fcn.0075bfd0
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
test ebp, ebp
jne 0x7c77f1
xor eax, eax
xor esi, esi
cmp ax, dx
jae 0x7c7763
movzx eax, si
inc esi
mov cl, byte [ebx + eax*2]
lea edx, [ebx + eax*2]
mov al, byte [edx + 1]
mov byte [edx], al
mov byte [edx + 1], cl
cmp si, word [edi + 0x14]
jb 0x7c7603
jmp 0x7c7763
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x1c], ecx
cmp ax, word [edi + 0x14]
jae case.0x7c73e0.0
movzx edx, cx
test ebp, ebp
je 0x7c764b
mov cl, byte [ebx + edx*2]
mov al, byte [ebx + edx*2 + 1]
mov byte [ebx + edx*2 + 1], cl
mov ecx, dword [esp + 0x1c]
mov byte [ebx + edx*2], al
cmp byte [edi + 0x19], 5
jne 0x7c769b
cmp cx, 1
jbe 0x7c769b
test ebp, ebp
je 0x7c766c
mov ax, word [ebx + edx*2]
cmp ax, word [ebx + edx*2 - 4]
je 0x7c774c
jmp 0x7c769b
mov ah, byte [ebx + edx*2 + 1]
mov al, byte [ebx + edx*2]
mov byte [ebx + edx*2], ah
mov byte [ebx + edx*2 + 1], al
mov byte [esp + 0x34], ah
movzx eax, word [ebx + edx*2]
cmp ax, word [ebx + edx*2 - 4]
je 0x7c774c
shr eax, 8
mov byte [ebx + edx*2], al
mov al, byte [esp + 0x34]
mov byte [ebx + edx*2 + 1], al
mov eax, dword [esi + 0x2e0]
test eax, 0x400
je 0x7c76af
mov eax, 0x26
jmp 0x7c76bb
and al, 1
movzx eax, al
neg eax
sbb eax, eax
and eax, 6
movzx edx, cx
mov dword [esp + 0x34], edx
lea eax, [eax + edx*2]
movzx esi, word [eax + edi + 0x1a]
add esi, edi
cmp esi, dword [esp + 0x14]
jae 0x7c7748
movzx eax, byte [esi + 2]
and eax, 0xffffff7f
sub eax, 1
je 0x7c7728
sub eax, 1
je 0x7c76ee
sub eax, 1
jne case.default.0x7c7476
mov bl, byte [esi + 4]
mov dl, byte [esi + 5]
mov cl, byte [esi + 6]
mov al, byte [esi + 7]
mov byte [esi + 6], dl
mov dl, byte [esi + 9]
mov byte [esi + 7], bl
mov bl, byte [esi + 8]
mov byte [esi + 4], al
mov al, byte [esi + 0xb]
mov byte [esi + 5], cl
mov cl, byte [esi + 0xa]
mov byte [esi + 0xa], dl
mov edx, dword [esp + 0x34]
mov byte [esi + 0xb], bl
mov ebx, dword [esp + 0x10]
mov byte [esi + 8], al
mov byte [esi + 9], cl
jmp 0x7c7732
mov cl, byte [esi]
mov al, byte [esi + 1]
mov byte [esi], al
mov byte [esi + 1], cl
test ebp, ebp
jne 0x7c7744
mov cl, byte [ebx + edx*2]
mov al, byte [ebx + edx*2 + 1]
mov byte [ebx + edx*2], al
mov byte [ebx + edx*2 + 1], cl
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x28]
inc ecx
mov dword [esp + 0x1c], ecx
cmp cx, word [edi + 0x14]
jb 0x7c7632
test ebp, ebp
jne 0x7c77f1
mov cl, byte [edi + 2]
mov al, byte [edi + 3]
mov bl, byte [edi]
mov dl, byte [edi + 1]
mov byte [edi], al
mov al, byte [edi + 7]
mov byte [edi + 1], cl
mov cl, byte [edi + 6]
mov byte [edi + 2], dl
mov dl, byte [edi + 5]
mov byte [edi + 3], bl
mov bl, byte [edi + 4]
mov byte [edi + 4], al
mov al, byte [edi + 0xb]
mov byte [edi + 5], cl
mov cl, byte [edi + 0xa]
mov byte [edi + 6], dl
mov dl, byte [edi + 9]
mov byte [edi + 7], bl
mov bl, byte [edi + 8]
mov byte [edi + 8], al
mov al, byte [edi + 0xf]
mov byte [edi + 9], cl
mov cl, byte [edi + 0xe]
mov byte [edi + 0xa], dl
mov dl, byte [edi + 0xd]
mov byte [edi + 0xb], bl
mov bl, byte [edi + 0xc]
mov byte [edi + 0xc], al
mov al, byte [edi + 0x13]
mov byte [edi + 0xd], cl
mov cl, byte [edi + 0x12]
mov byte [edi + 0xe], dl
mov dl, byte [edi + 0x11]
mov byte [edi + 0xf], bl
mov bl, byte [edi + 0x10]
mov byte [edi + 0x10], al
mov al, byte [edi + 0x15]
mov byte [edi + 0x11], cl
mov cl, byte [edi + 0x14]
mov byte [edi + 0x14], al
mov al, byte [edi + 0x17]
mov byte [edi + 0x15], cl
mov cl, byte [edi + 0x16]
mov byte [edi + 0x12], dl
mov byte [edi + 0x13], bl
mov byte [edi + 0x16], al
mov byte [edi + 0x17], cl
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x14
ret
xor eax, eax
xor edx, edx
mov dword [esp + 0x1c], eax
cmp dx, word [edi + 0x14]
jae case.0x7c73e0.0
nop dword [eax]
movzx edx, ax
mov dword [esp + 0x34], edx
test ebp, ebp
je 0x7c782f
mov cl, byte [ebx + edx*2]
mov al, byte [ebx + edx*2 + 1]
mov byte [ebx + edx*2 + 1], cl
mov ecx, dword [esp + 0x14]
mov byte [ebx + edx*2], al
jmp 0x7c7833
mov dword [esp + 0x34], edx
mov eax, dword [esi + 0x2e0]
test eax, 0x400
je 0x7c7847
mov eax, 0x26
jmp 0x7c7853
and al, 1
movzx eax, al
neg eax
sbb eax, eax
and eax, 6
lea eax, [eax + edx*2]
movzx esi, word [eax + edi + 0x1a]
add esi, edi
cmp esi, ecx
jae 0x7c7909
mov al, byte [esi + 1]
mov cl, byte [esi]
mov bl, byte [esi + 4]
mov dl, byte [esi + 5]
mov byte [esi], al
mov al, byte [esi + 7]
mov byte [esi + 4], al
mov al, byte [esi + 0xb]
mov byte [esi + 7], bl
mov bl, byte [esi + 8]
mov byte [esi + 8], al
movzx eax, byte [esi + 2]
mov byte [esi + 1], cl
and eax, 0xffffff7f
mov cl, byte [esi + 6]
mov byte [esi + 5], cl
mov cl, byte [esi + 0xa]
mov byte [esi + 6], dl
mov dl, byte [esi + 9]
mov byte [esi + 9], cl
mov byte [esi + 0xa], dl
mov byte [esi + 0xb], bl
sub eax, 1
je 0x7c78eb
sub eax, 1
je 0x7c78bb
sub eax, 1
jne case.default.0x7c7476
mov bl, byte [esi + 0x10]
mov dl, byte [esi + 0x11]
mov cl, byte [esi + 0x12]
mov al, byte [esi + 0x13]
mov byte [esi + 0x10], al
mov al, byte [esi + 0x17]
mov byte [esi + 0x11], cl
mov cl, byte [esi + 0x16]
mov byte [esi + 0x12], dl
mov dl, byte [esi + 0x15]
mov byte [esi + 0x13], bl
mov bl, byte [esi + 0x14]
mov byte [esi + 0x14], al
mov byte [esi + 0x15], cl
mov byte [esi + 0x16], dl
mov byte [esi + 0x17], bl
mov ebx, dword [esp + 0x10]
test ebp, ebp
jne 0x7c7905
mov edx, dword [esp + 0x34]
mov cl, byte [ebx + edx*2]
mov al, byte [ebx + edx*2 + 1]
mov byte [ebx + edx*2], al
mov byte [ebx + edx*2 + 1], cl
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
cmp ax, word [edi + 0x14]
jae case.0x7c73e0.0
mov esi, dword [esp + 0x28]
jmp 0x7c7810
xor eax, eax
xor edx, edx
mov dword [esp + 0x1c], eax
cmp dx, word [edi + 0x14]
jae case.0x7c73e0.0
movzx edx, ax
mov dword [esp + 0x34], edx
test ebp, ebp
je 0x7c7956
mov cl, byte [ebx + edx*2]
mov al, byte [ebx + edx*2 + 1]
mov byte [ebx + edx*2 + 1], cl
mov ecx, dword [esp + 0x14]
mov byte [ebx + edx*2], al
jmp 0x7c795a
mov dword [esp + 0x34], edx
mov eax, dword [esi + 0x2e0]
test eax, 0x400
je 0x7c796e
mov eax, 0x26
jmp 0x7c797a
and al, 1
movzx eax, al
neg eax
sbb eax, eax
and eax, 6
lea eax, [eax + edx*2]
movzx esi, word [eax + edi + 0x1a]
add esi, edi
cmp esi, ecx
jae 0x7c79d4
mov bl, byte [esi]
mov dl, byte [esi + 1]
mov cl, byte [esi + 2]
mov al, byte [esi + 3]
mov byte [esi + 3], bl
mov bl, byte [esi + 4]
mov byte [esi], al
mov al, byte [esi + 7]
mov byte [esi + 1], cl
mov cl, byte [esi + 6]
mov byte [esi + 2], dl
mov dl, byte [esi + 5]
mov byte [esi + 7], bl
mov ebx, dword [esp + 0x10]
mov byte [esi + 4], al
mov byte [esi + 5], cl
mov byte [esi + 6], dl
test ebp, ebp
jne 0x7c79d0
mov edx, dword [esp + 0x34]
mov cl, byte [ebx + edx*2]
mov al, byte [ebx + edx*2 + 1]
mov byte [ebx + edx*2], al
mov byte [ebx + edx*2 + 1], cl
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x28]
inc eax
mov dword [esp + 0x1c], eax
cmp ax, word [edi + 0x14]
jb 0x7c7937
jmp case.0x7c73e0.0
push dword [esp + 0x2c]
push edx
call fcn.0075bfd0
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret