Function at 0x690377c4
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x80
push ebx
mov ebx, dword [esp + 0x90]
xor eax, eax
push ebp
push esi
cmp ebx, eax
push edi
mov dword [esp + 0x10], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], 0xffff
mov dword [esp + 0x1c], 0x100
mov dword [esp + 0x14], eax
je 0x6903778b
mov cl, byte [esp + 0xc0]
mov eax, 1
shl eax, cl
mov dword [esp + 0x1c], eax
mov eax, dword [ebx]
mov dword [esp + 0x14], eax
mov edi, dword [esp + 0xa8]
mov ebp, dword [esp + 0xa4]
mov esi, dword [esp + 0x94]
push esi
call sym.IML32.dll_Ordinal_1411
and eax, 0xff
inc eax
cmp eax, 0x3c
ja case.0x690377bd.2
xor ecx, ecx
mov cl, byte [eax + 0x69037ae0]
jmp dword [ecx*4 + 0x69037ad0]
push esi
call sym.IML32.dll_Ordinal_1411
cmp al, 0xf9
je 0x690377f9
push esi
call sym.IML32.dll_Ordinal_1411
test al, al
mov byte [esp + 0x18], al
je 0x690377a0
mov edx, dword [esp + 0x18]
push 1
and edx, 0xff
push edx
push esi
call sym.IML32.dll_Ordinal_1432
test eax, eax
je 0x69037aa3
jmp 0x690377ce
push esi
call sym.IML32.dll_Ordinal_1411
cmp al, 4
jne 0x69037aa3
push esi
call sym.IML32.dll_Ordinal_1411
mov cl, al
mov dl, al
shr cl, 2
and cl, 7
and dl, 2
mov byte [edi + 1], cl
xor cl, cl
cmp cl, dl
push esi
sbb edx, edx
and al, 1
neg edx
cmp cl, al
mov dword [edi + 4], edx
sbb edx, edx
mov byte [edi], 0
neg edx
mov dword [edi + 8], edx
call sym.IML32.dll_Ordinal_1417
push esi
mov word [edi + 0xc], ax
call sym.IML32.dll_Ordinal_1411
push esi
mov byte [edi + 0xe], al
call sym.IML32.dll_Ordinal_1411
test al, al
jne 0x69037aa3
mov dword [ebp], 1
mov eax, dword [edi + 8]
test eax, eax
je 0x690377a0
movzx ax, byte [edi + 0xe]
mov word [esp + 0x20], ax
jmp 0x690377a0
push esi
call sym.IML32.dll_Ordinal_1411
test al, al
mov byte [esp + 0x18], al
je 0x690377a0
mov ecx, dword [esp + 0x18]
push 1
and ecx, 0xff
push ecx
push esi
call sym.IML32.dll_Ordinal_1432
test eax, eax
je 0x69037aa3
jmp case.0x690377bd.2
push esi
call sym.IML32.dll_Ordinal_1417
push esi
mov edi, dword [esp + 0xb0]
mov word [edi], ax
call sym.IML32.dll_Ordinal_1417
push esi
mov word [edi + 2], ax
call sym.IML32.dll_Ordinal_1417
push esi
mov word [edi + 4], ax
call sym.IML32.dll_Ordinal_1417
push esi
mov word [edi + 6], ax
call sym.IML32.dll_Ordinal_1411
mov dl, al
xor cl, cl
and dl, 0x80
cmp cl, dl
mov dl, al
sbb ebp, ebp
and dl, 0x40
neg ebp
cmp cl, dl
mov cl, al
sbb edx, edx
and cl, 0x20
neg edx
mov dword [edi + 0xc], edx
xor dl, dl
cmp dl, cl
mov dl, al
sbb ecx, ecx
and al, 7
neg ecx
shr dl, 3
mov dword [edi + 0x10], ecx
and dl, 3
xor cx, cx
inc al
mov cl, dl
mov dword [edi + 8], ebp
test ebp, ebp
mov word [edi + 0x14], cx
mov byte [edi + 0x16], al
je 0x6903795e
mov eax, dword [esp + 0x14]
test eax, eax
je 0x69037937
lea edx, [esp + 0x14]
push edx
call sym.IML32.dll_Ordinal_1714
mov cl, byte [edi + 0x16]
mov eax, 1
shl eax, cl
push eax
push esi
mov dword [esp + 0x24], eax
call fcn.69037b20
test eax, eax
mov dword [esp + 0x14], eax
je 0x69037aa3
test ebx, ebx
je 0x6903795e
mov dword [ebx], eax
mov cx, word [edi + 6]
mov ax, word [edi + 4]
mov ebx, dword [esp + 0x98]
and ecx, 0xffff
push ebx
and eax, 0xffff
xor ebp, ebp
push ecx
mov edx, 8
push eax
push ebp
push edx
call sym.IML32.dll_Ordinal_1650
test eax, eax
mov dword [esp + 0x10], eax
je 0x69037aa3
lea ecx, [esp + 0x28]
push ecx
push eax
call sym.IML32.dll_Ordinal_1654
mov ebp, eax
test ebp, ebp
je 0x69037aa3
mov edx, dword [edi + 0xc]
mov eax, dword [esp + 0x1c]
push edx
push eax
lea ecx, [esp + 0x30]
push esi
push ecx
call fcn.69037c00
test eax, eax
je 0x69037a8d
mov esi, dword [esp + 0xa0]
test esi, esi
je 0x69037a86
mov ebx, dword [esp + 0x20]
cmp bx, 0xffff
jne 0x690379f0
mov dword [esi], 0
mov esi, 1
jmp 0x69037a91
call sym.IML32.dll_Ordinal_1600
test eax, eax
mov dword [esp + 0x18], eax
je 0x69037a8d
mov edx, dword [esp + 0x10]
push edx
call sym.IML32.dll_Ordinal_1655
xor ebp, ebp
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
push eax
push ecx
call sym.IML32.dll_Ordinal_1604
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
push edx
push eax
call sym.IML32.dll_Ordinal_1609
lea ecx, [esp + 0x4c]
mov byte [esp + 0x1c], bl
mov edx, dword [esp + 0x18]
push ecx
push edx
mov byte [esp + 0x27], 0
call sym.IML32.dll_Ordinal_1630
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x4c]
push eax
push ecx
call sym.IML32.dll_Ordinal_1631
lea edx, [esp + 0x4c]
push ebp
push edx
call sym.IML32.dll_Ordinal_1632
lea eax, [esp + 0x1c]
push ebp
mov ecx, dword [esp + 0x1c]
push eax
push 1
push ecx
call sym.IML32.dll_Ordinal_1670
push ebp
mov dword [esi], eax
mov edx, dword [esp + 0x1c]
push edx
call sym.IML32.dll_Ordinal_1604
lea eax, [esp + 0x18]
push eax
call sym.IML32.dll_Ordinal_1601
mov esi, 1
jmp 0x69037a91
mov esi, dword [esp + 0x24]
test ebp, ebp
je 0x69037a9f
mov ecx, dword [esp + 0x10]
push ecx
call sym.IML32.dll_Ordinal_1655
test esi, esi
jne 0x69037abf
lea edx, [esp + 0x10]
push edx
call sym.IML32.dll_Ordinal_1653
mov eax, dword [esp + 0x14]
test eax, eax
je 0x69037abf
lea eax, [esp + 0x14]
push eax
call sym.IML32.dll_Ordinal_1714
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x80
ret 0x30