Function at 0x4147a0
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x34
push ebx
push esi
mov esi, dword [ebp + 8]
mov ebx, ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0x18], ebx
push edi
test esi, esi
je 0x414803
push 1
lea eax, [esp + 0x24]
mov dword [esp + 0x40], 1
push 0
push eax
mov edx, 1
mov ecx, esi
call fcn.00454630
add esp, 0xc
test eax, eax
jne 0x414803
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x4147f7
cmp eax, 8
mov eax, 0x20000000
jne 0x414c4a
mov eax, 0xa0000000
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [esp + 0x13]
mov ecx, ebx
push eax
lea edx, [esp + 0x1c]
call fcn.00415f20
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x41483c
mov edi, dword [ebx + 0x20]
test edi, edi
je 0x41483c
mov eax, dword [0x4e4798]
mov eax, dword [eax + 0x58]
nop dword [eax + eax]
cmp dword [edi + 8], eax
je 0x41483e
mov edi, dword [edi + 0xc]
test edi, edi
jne 0x414830
xor edi, edi
mov eax, dword [ebp + 0xc]
movzx ecx, ax
mov byte [esp + 0x11], 0
mov byte [esp + 0x12], 0
sub ecx, 1
je 0x414983
sub ecx, 1
je 0x414983
sub ecx, 1
je 0x414983
test ebx, ebx
jne 0x4148b3
test ax, ax
je 0x414878
mov edx, eax
xor ecx, ecx
jmp 0x414884
test esi, esi
je 0x414987
xor edx, edx
mov ecx, esi
push dword [esp + 0x18]
push dword [esp + 0x20]
call fcn.00414c90
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x4148a1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [ebx + 0x24]
mov byte [esp + 0x11], 1
mov byte [esp + 0x12], 1
jmp 0x414a55
cmp word [ebx + 6], ax
je 0x4148d7
mov word [ebx + 6], ax
test ax, ax
jne 0x4148c8
mov byte [ebx + 0x19], 1
jmp 0x4148d2
cmp byte [ebx + 0x12], 0
jne 0x4148d2
mov byte [ebx + 0x14], 1
mov byte [esp + 0x11], 1
test esi, esi
je 0x41492f
test edi, edi
je 0x4148f9
cmp esi, dword [edi]
je 0x414937
mov eax, dword [esi]
push esi
call dword [eax + 4]
mov ecx, dword [edi]
test ecx, ecx
je 0x4148f5
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [edi], esi
jmp 0x414937
push dword [esp + 0x18]
mov ecx, ebx
push esi
call fcn.004155b0
mov edi, eax
test edi, edi
jne 0x414917
mov eax, 0xa00e0001
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [0x4e8c39], 0
mov al, 1
mov byte [esp + 0x12], 1
mov byte [esp + 0x11], al
je 0x41493b
mov dl, al
jmp 0x41493f
test edi, edi
je 0x414a5f
mov al, byte [esp + 0x11]
mov dl, byte [esp + 0x13]
mov ecx, dword [esp + 0x18]
mov byte [edi + 0x1d], cl
mov cl, byte [ebx + 0x13]
or cl, byte [esp + 0x18]
test byte [esp + 0x18], 2
mov byte [ebx + 0x13], cl
jne 0x41495d
or cl, 4
mov byte [ebx + 0x13], cl
cmp byte [ebx + 0x14], 0
jne 0x414a59
test dl, dl
jne 0x414975
cmp byte [esp + 0x18], dl
je 0x414a59
mov byte [esp + 0x11], 1
mov byte [ebx + 0x14], 1
jmp 0x414a55
test ebx, ebx
jne 0x4149b9
push dword [0x4e9d80]
push 0
push 9
push dword [esp + 0x28]
push str.Nonexistent_hotkey.
mov ecx, 0x4e9e50
call fcn.0040ca20
neg eax
sbb eax, eax
and eax, 0x80000000
add eax, 0xa0000000
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test edi, edi
jne 0x4149d8
cmp word [ebx + 6], di
jne 0x4149d8
push dword [0x4e9d80]
push 0
push 9
push dword [esp + 0x28]
push str.Nonexistent_hotkey_variant__IfWin_.
jmp 0x41499a
cmp ax, 3
jne 0x4149f5
xor eax, eax
cmp word [ebx + 6], ax
je 0x4149eb
cmp byte [ebx + 0x19], al
jmp 0x4149ee
cmp byte [edi + 0x20], al
setne al
inc eax
movzx eax, ax
movzx ecx, word [ebx + 6]
cmp ax, 1
jne 0x414a25
test cx, cx
je 0x414a13
cmp byte [ebx + 0x19], 0
jne 0x414a50
mov byte [ebx + 0x19], al
mov byte [esp + 0x11], al
jmp 0x414a55
cmp byte [edi + 0x20], 0
jne 0x414a50
mov al, 1
mov byte [edi + 0x20], 1
mov byte [esp + 0x11], al
jmp 0x414a59
test cx, cx
je 0x414a3c
cmp byte [ebx + 0x19], 0
je 0x414a55
mov al, 1
mov byte [ebx + 0x19], 0
mov byte [esp + 0x11], al
jmp 0x414a59
cmp byte [edi + 0x20], 0
je 0x414a55
mov al, 1
mov word [edi + 0x1f], 0
mov byte [esp + 0x11], al
jmp 0x414a59
mov byte [esp + 0x11], 0
mov al, byte [esp + 0x11]
test edi, edi
jne 0x414a6e
jmp 0x414a63
mov al, byte [esp + 0x11]
cmp word [ebx + 6], 0
je 0x4149c3
mov esi, dword [esp + 0x14]
movzx ecx, word [esi]
test cx, cx
je 0x414c3c
mov edx, ecx
movzx ecx, dx
lea eax, [edx - 0x61]
mov edx, ecx
and edx, 0xffffffdf
cmp ax, 0x19
cmova edx, ecx
add edx, 0xffffffbe
cmp edx, 0x12
ja case.0x414aa5.67
movzx eax, byte [edx + 0x414c70]
jmp dword [eax*4 + 0x414c54]
lea eax, [esi + 2]
mov dword [esp + 0x1c], eax
movzx eax, word [eax]
mov edx, eax
mov esi, eax
and eax, 0xffdf
add edx, 0xffffff9f
movzx ecx, ax
cmp dx, 0x19
mov eax, esi
cmova ecx, eax
cmp cx, 0x4e
jne 0x414b0f
cmp word [ebx + 6], 0
mov esi, dword [esp + 0x1c]
je 0x414af7
cmp byte [ebx + 0x19], 0
jne case.0x414aa5.67
mov byte [ebx + 0x19], 1
mov byte [esp + 0x11], 1
jmp case.0x414aa5.67
cmp byte [edi + 0x20], 0
jne case.0x414aa5.67
mov byte [edi + 0x20], 1
mov byte [esp + 0x11], 1
jmp case.0x414aa5.67
push 3
push 0x4d3d78
push dword [esp + 0x1c]
call fcn.0049f2a2
mov esi, dword [esp + 0x20]
add esp, 0xc
test eax, eax
jne case.0x414aa5.67
add esi, 4
cmp word [ebx + 6], ax
je 0x414b41
cmp byte [ebx + 0x19], al
je 0x414b52
mov byte [ebx + 0x19], al
jmp 0x414b4d
cmp byte [edi + 0x20], 0
je 0x414b52
mov word [edi + 0x1f], 0
mov byte [esp + 0x11], 1
cmp byte [esp + 0x12], 0
je case.0x414aa5.67
mov byte [esp + 0x11], 0
jmp case.0x414aa5.67
test edi, edi
je case.0x414aa5.67
mov eax, dword [esp + 0x14]
cmp word [eax + 2], 0x30
setne al
mov byte [edi + 0x1e], al
jmp 0x414c1e
test edi, edi
je case.0x414aa5.67
mov eax, dword [esp + 0x14]
add eax, 2
push eax
call fcn.004a4fdd
add esp, 4
mov dword [edi + 0x14], eax
jmp 0x414c1e
test edi, edi
je case.0x414aa5.67
mov eax, dword [esp + 0x14]
cmp word [eax + 2], 0x30
setne al
mov byte [edi + 0x21], al
jmp 0x414c1e
test edi, edi
je case.0x414aa5.67
mov eax, dword [esp + 0x14]
add eax, 2
push eax
call fcn.004a4fdd
mov edx, dword [0x4e4794]
mov cl, al
mov esi, dword [esp + 0x18]
add esp, 4
movzx eax, cl
mov byte [edi + 0x1b], cl
cmp eax, edx
jle 0x414be4
mov byte [edi + 0x1b], dl
jmp case.0x414aa5.67
cmp cl, 1
jae case.0x414aa5.67
mov byte [edi + 0x1b], 1
jmp case.0x414aa5.67
test edi, edi
je case.0x414aa5.67
mov eax, dword [esp + 0x14]
add eax, 2
push eax
call fcn.004a4fdd
add esp, 4
cmp eax, 0x64
ja 0x414c1e
test eax, eax
je 0x414c1b
cmp byte [ebx + 0x14], 0
jne 0x414c1b
mov byte [ebx + 0x14], 1
mov byte [esp + 0x11], 1
mov byte [edi + 0x1c], al
mov esi, dword [esp + 0x14]
movzx eax, word [esi + 2]
add esi, 2
mov dword [esp + 0x14], esi
mov edx, eax
test ax, ax
jne 0x414a80
mov al, byte [esp + 0x11]
test al, al
je 0x414c45
call fcn.00413e10
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret