Function at 0x7697c4
Capabilities:
Enumerate pe sections

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xffffffd8
mov edi, eax
mov dword [esp], edx
xor edx, edx
mov eax, dword [esp]
mov esi, dword [edi]
mov ebp, dword [eax + 0x10]
xor eax, eax
mov dword [esp + 8], 0xffffffff
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], edx
mov ecx, ebp
sub ecx, dword [edi + 4]
sar ecx, 1
jns 0x769800
adc ecx, 0
mov ebx, dword [edi + 8]
mov ebx, dword [ebx + ecx*4]
test ebx, ebx
jne 0x769811
mov eax, 0x102
jmp 0x769816
mov eax, 0x10b
mov dword [esp + 0x1c], eax
test ebx, ebx
jne 0x769825
mov edx, 0xfffffffc
jmp 0x769827
mov edx, ebx
mov dword [esp + 0x20], edx
test ebx, ebx
jne 0x769836
mov eax, 0xfffffff8
jmp 0x769839
lea eax, [ebx + 4]
mov dword [esp + 0x24], eax
lea edx, [esp + 6]
push edx
lea ecx, [esp + 0xc]
push ecx
lea ecx, [esp + 0x14]
push ecx
push 0
lea ecx, [esp + 0x14]
mov edx, ebp
mov eax, edi
call fcn.0076d370
mov ebp, eax
movzx ecx, word [esp + 4]
cmp ecx, 0x28
jg 0x76989c
je 0x769ba1
add ecx, 0xffffffdf
cmp ecx, 6
ja case.default.0x769879
jmp dword [ecx*4 + 0x769880]
cmp ecx, 0x2c
jge 0x7698bd
sub ecx, 0x29
je 0x769f00
dec ecx
je case.default.0x769879
dec ecx
je 0x769f00
jmp case.default.0x769879
add ecx, 0xffffffd4
sub ecx, 2
jb case.default.0x769879
sub ecx, 0x3a
je case.0x769879.33
dec ecx
je 0x769ba1
jmp case.default.0x769879
movzx eax, word [esp + 6]
cmp eax, 0x11
je 0x7698e9
cmp eax, 0x16
jne 0x769961
mov eax, esi
call fcn.0075c278
mov edx, eax
mov ecx, dword [esp]
mov eax, dword [ecx + 0xc]
call fcn.0076d350
push 0
push 0x102
push 0xfffffffffffffffc
mov ecx, 6
mov edx, 6
mov eax, esi
call fcn.00759fb8
mov eax, edi
mov ecx, 2
mov edx, 0x1b
mov eax, dword [eax]
push 0
push 2
push 0
push 0x200
push 4
call fcn.0075b6cc
push 0
push 0x200
push 0
mov ecx, 6
mov edx, 1
mov eax, esi
call fcn.0075cad0
mov edx, dword [esp]
mov edx, dword [edx + 0x14]
call fcn.007586dc
jmp case.default.0x769879
movzx eax, word [esp + 4]
cmp eax, 0x27
jne 0x769971
xor ecx, ecx
mov dword [esp + 0xc], ecx
cmp eax, 0x23
jg 0x7699b6
push 0
mov edx, 6
mov ecx, dword [esp + 0x20]
push ecx
mov ecx, 6
mov eax, dword [esp + 0x28]
push eax
mov eax, esi
call fcn.00759fb8
push 0
mov edx, 5
mov ecx, dword [esp + 0x20]
push ecx
mov ecx, 6
mov eax, dword [esp + 0x2c]
push eax
mov eax, esi
call fcn.0075cad0
mov dword [esp + 0x14], eax
jmp 0x769a32
push 0
mov edx, 6
mov ecx, dword [esp + 0x20]
push ecx
mov ecx, 1
mov eax, dword [esp + 0x2c]
push eax
mov eax, esi
call fcn.00759fb8
push 0
mov edx, 6
mov ecx, dword [esp + 0x20]
push ecx
mov ecx, 6
mov eax, dword [esp + 0x28]
push eax
mov eax, esi
call fcn.00759fb8
push 0
push 0x200
mov ecx, dword [esp + 0x14]
mov edx, 5
inc ecx
mov eax, esi
push ecx
mov ecx, 1
call fcn.0075cad0
mov dword [esp + 0x14], eax
mov eax, esi
mov ecx, dword [esp + 0x24]
mov edx, 0x1b
push ecx
push 1
push 0
push 0x200
push 1
mov ecx, dword [esp + 0x30]
call fcn.0075b6cc
mov eax, edi
call fcn.0075ead4
mov edx, dword [esp + 0x20]
mov eax, esi
push edx
push 6
push 0
mov edx, 6
mov ecx, dword [esp + 0x28]
call fcn.00759fb8
mov edx, 0x16
mov eax, esi
call fcn.0075c304
mov ecx, dword [esp]
mov edx, dword [ecx + 0x14]
call fcn.007586dc
movzx eax, word [esp + 4]
cmp eax, 0x68
jne 0x769a87
mov eax, esi
call fcn.0075c278
mov edx, eax
mov ecx, dword [esp]
mov eax, dword [ecx + 0xc]
call fcn.0076d350
mov eax, esi
call fcn.0075c278
mov edx, eax
mov eax, dword [esp + 0x14]
call fcn.007586dc
test ebx, ebx
jne 0x769abd
mov eax, edi
mov ecx, 2
mov edx, 0x1b
mov eax, dword [eax]
push 0
push 2
push 0
push 0x200
push 8
call fcn.0075b6cc
movzx edi, word [esp + 4]
cmp edi, 0x23
jne case.default.0x769879
mov eax, esi
call fcn.0075c278
mov edx, eax
mov ecx, dword [esp]
mov eax, dword [ecx + 0xc]
call fcn.0076d350
jmp case.default.0x769879
push 0
mov eax, esi
mov edx, dword [esp + 0x20]
push edx
mov edx, 6
mov ecx, dword [esp + 0x28]
push ecx
mov ecx, 6
call fcn.00759fb8
lea ecx, [esp + 0x18]
mov eax, edi
push ecx
mov ecx, ebp
mov dx, word [esp + 0xa]
call fcn.00761928
mov ecx, dword [esp + 0x20]
mov edx, 6
push ecx
push 6
push 0
mov eax, esi
mov ecx, dword [esp + 0x28]
call fcn.00759fb8
mov edx, 0x16
mov eax, esi
call fcn.0075c304
mov ecx, dword [esp]
mov edx, dword [ecx + 0x14]
call fcn.007586dc
mov eax, esi
call fcn.0075c278
mov edx, eax
mov eax, dword [esp + 0x18]
call fcn.0076d350
test ebx, ebx
jne 0x769b7a
mov eax, edi
mov ecx, 2
mov edx, 0x1b
mov eax, dword [eax]
push 0
push 2
push 0
push 0x200
push 4
call fcn.0075b6cc
movzx edi, word [esp + 4]
cmp edi, 0x24
jne case.default.0x769879
mov eax, esi
call fcn.0075c278
mov edx, eax
mov ecx, dword [esp]
mov eax, dword [ecx + 0xc]
call fcn.0076d350
jmp case.default.0x769879
movzx edx, word [esp + 4]
cmp edx, 0x69
jne 0x769bc5
mov eax, esi
call fcn.0075c278
mov dword [esp + 0x10], eax
mov edx, dword [esp]
mov eax, dword [edx + 0xc]
mov edx, dword [esp + 0x10]
call fcn.0076d350
push 0
mov edx, 6
mov ecx, dword [esp + 0x20]
mov eax, esi
push ecx
mov ecx, dword [esp + 0x28]
push ecx
mov ecx, 6
call fcn.00759fb8
lea ecx, [esp + 0x18]
mov eax, edi
push ecx
mov ecx, ebp
mov dx, word [esp + 0xa]
call fcn.00761928
push 0
mov edx, 6
mov ecx, dword [esp + 0x20]
push ecx
mov ecx, 1
mov eax, dword [esp + 0x2c]
push eax
mov eax, esi
call fcn.00759fb8
mov ecx, dword [esp + 0x20]
mov edx, 6
push ecx
push 6
push 0
mov eax, esi
mov ecx, dword [esp + 0x28]
call fcn.00759fb8
push 0
push 1
push 0
push 0x200
push 1
mov ecx, 1
mov edx, 0x19
mov eax, esi
call fcn.0075b6cc
mov ecx, dword [esp + 0x24]
mov edx, 6
push ecx
push 1
push 0
mov eax, esi
mov ecx, dword [esp + 0x28]
call fcn.00759fb8
movzx ecx, word [esp + 4]
cmp ecx, 0x69
jne 0x769c93
push 0
push 0x200
mov eax, dword [esp + 0x14]
mov ecx, 1
inc eax
mov edx, 2
push eax
mov eax, esi
call fcn.0075cad0
mov edx, dword [esp + 0x10]
call fcn.007586dc
movzx eax, word [esp + 4]
cmp eax, 0x69
jne 0x769cbd
cmp dword [esp + 8], 0
jne 0x769cbd
mov edx, 0x16
mov eax, esi
call fcn.0075c304
mov ecx, dword [esp]
mov edx, dword [ecx + 0x14]
call fcn.007586dc
jmp 0x769ce8
push 0
push 0x200
mov eax, dword [esp + 0x10]
mov ecx, 1
add eax, 2
mov edx, 2
push eax
mov eax, esi
call fcn.0075cad0
mov ecx, dword [esp]
mov edx, dword [ecx + 0x14]
call fcn.007586dc
mov eax, esi
call fcn.0075c278
mov edx, eax
mov eax, dword [esp + 0x18]
call fcn.0076d350
test ebx, ebx
jne case.default.0x769879
mov eax, edi
mov ecx, 2
mov edx, 0x1b
mov eax, dword [eax]
push 0
push 2
push 0
push 0x200
push 8
call fcn.0075b6cc
jmp case.default.0x769879
push 0
mov edx, 6
mov ecx, dword [esp + 0x20]
push ecx
mov ecx, 6
mov eax, dword [esp + 0x28]
push eax
mov eax, esi
call fcn.00759fb8
mov ecx, dword [esp + 0x20]
mov edx, 6
push ecx
push 0x200
push 0
mov eax, esi
mov ecx, dword [esp + 0x28]
call fcn.00759fb8
push 0
push 0x200
push 0
mov ecx, 6
mov edx, 1
mov eax, esi
call fcn.0075cad0
mov edx, dword [esp]
mov edx, dword [edx + 0x14]
call fcn.007586dc
mov edx, 0x16
mov eax, esi
call fcn.0075c304
mov dword [esp + 0x14], eax
mov eax, esi
call fcn.0075c278
mov edx, eax
mov ecx, dword [esp]
mov eax, dword [ecx + 0xc]
call fcn.0076d350
push 0
mov eax, esi
mov edx, dword [esp + 0x20]
push edx
mov edx, 6
mov ecx, dword [esp + 0x28]
push ecx
mov ecx, 6
call fcn.00759fb8
mov ecx, dword [esp + 0x20]
mov edx, 6
push ecx
push 0x200
push 0
mov eax, esi
mov ecx, dword [esp + 0x28]
call fcn.00759fb8
mov edx, 0x16
mov eax, esi
call fcn.0075c304
mov ecx, dword [esp]
mov edx, dword [ecx + 0x14]
call fcn.007586dc
mov eax, esi
call fcn.0075c278
mov edx, eax
mov eax, dword [esp + 0x14]
call fcn.007586dc
test ebx, ebx
jne case.default.0x769879
mov eax, edi
mov ecx, 2
mov edx, 0x1b
mov eax, dword [eax]
push 0
push 2
push 0
push 0x200
push 4
call fcn.0075b6cc
jmp case.default.0x769879
push 0
mov edx, 6
mov ecx, dword [esp + 0x20]
push ecx
mov ecx, 6
mov eax, dword [esp + 0x28]
push eax
mov eax, esi
call fcn.00759fb8
mov ecx, dword [esp + 0x20]
mov edx, 6
push ecx
push 0x200
push 0
mov eax, esi
mov ecx, dword [esp + 0x28]
call fcn.00759fb8
push 0
push 0x200
push 0
mov ecx, 6
xor edx, edx
mov eax, esi
call fcn.0075cad0
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x18]
push ecx
mov ecx, ebp
mov dx, word [esp + 0xa]
mov eax, edi
call fcn.00761928
mov edx, 0x16
mov eax, esi
call fcn.0075c304
mov ecx, dword [esp]
mov edx, dword [ecx + 0x14]
call fcn.007586dc
mov eax, esi
call fcn.0075c278
mov edx, eax
mov eax, dword [esp + 0x18]
call fcn.0076d350
mov eax, esi
call fcn.0075c278
mov edx, eax
mov eax, dword [esp + 0x14]
call fcn.007586dc
test ebx, ebx
jne case.default.0x769879
mov eax, edi
mov ecx, 2
mov edx, 0x1b
mov eax, dword [eax]
push 0
push 2
push 0
push 0x200
push 4
call fcn.0075b6cc
jmp case.default.0x769879
mov eax, esi
call fcn.0075c278
mov edx, eax
mov ecx, dword [esp]
mov eax, dword [ecx + 0xc]
call fcn.0076d350
jmp case.default.0x769879
add esp, 0x28
pop ebp
pop edi
pop esi
pop ebx
ret