Function at 0x494290
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x593be4
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x754
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov esi, ecx
xor ebx, ebx
mov dword [ebp - 4], ebx
mov edi, dword [ebp + 8]
lea eax, [edi - 1]
cmp eax, 0x25
ja case.0x4942d1.3
movzx eax, byte [eax + 0x494e80]
jmp dword [eax*4 + 0x494e5c]
mov edi, dword [esi + 0x2628]
cmp edi, 0xffffffff
je 0x494c38
push 0x23
push ebx
push edi
call fcn.00401000
add esp, 0xc
test al, al
jne 0x4943ab
push str.In_CurrentHotkey_0_HOTKEYS_1_
lea ecx, [ebp - 0x234]
call fcn.00403d40
mov byte [ebp - 4], 1
push 0x5b45eb
lea ecx, [ebp - 0x384]
call fcn.00403d40
mov byte [ebp - 4], 2
push str.CurrentHotkey
lea ecx, [ebp - 0xe4]
call fcn.00403d40
mov byte [ebp - 4], 3
push str.assertion_failed
lea ecx, [ebp - 0x480]
call fcn.00403d40
mov byte [ebp - 4], 4
push str..Dialogs.cpp
lea ecx, [ebp - 0x11c]
call fcn.00403d40
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x234]
push ecx
push ebx
lea edx, [ebp - 0x384]
push edx
mov eax, dword [esi + 0x2628]
push eax
lea ecx, [ebp - 0xe4]
push ecx
lea edx, [ebp - 0x480]
push edx
push 0x1104
lea eax, [ebp - 0x11c]
push eax
lea ecx, [ebp - 0x580]
call fcn.0054a580
push 0x5d7834
lea ecx, [ebp - 0x580]
push ecx
call fcn.0055a7d2
mov dword [esi + edi*4 + 0x2570], 2
jmp 0x494c38
mov edi, dword [esi + 0x2628]
cmp edi, 0xffffffff
je 0x494c38
push 0x23
push ebx
push edi
call fcn.00401000
add esp, 0xc
test al, al
jne 0x49448e
push str.In_CurrentHotkey_0_HOTKEYS_1_
lea ecx, [ebp - 0x3bc]
call fcn.00403d40
mov byte [ebp - 4], 6
push 0x5b45eb
lea ecx, [ebp - 0x154]
call fcn.00403d40
mov byte [ebp - 4], 7
push str.CurrentHotkey
lea ecx, [ebp - 0x49c]
call fcn.00403d40
mov byte [ebp - 4], 8
push str.assertion_failed
lea ecx, [ebp - 0x18c]
call fcn.00403d40
mov byte [ebp - 4], 9
push str..Dialogs.cpp
lea ecx, [ebp - 0x3f4]
call fcn.00403d40
mov byte [ebp - 4], 0xa
lea edx, [ebp - 0x3bc]
push edx
push ebx
lea eax, [ebp - 0x154]
push eax
mov ecx, dword [esi + 0x2628]
push ecx
lea edx, [ebp - 0x49c]
push edx
lea eax, [ebp - 0x18c]
push eax
push 0x110a
lea ecx, [ebp - 0x3f4]
push ecx
lea ecx, [ebp - 0x6ac]
call fcn.0054a580
push 0x5d7834
lea edx, [ebp - 0x6ac]
push edx
call fcn.0055a7d2
mov dword [esi + edi*4 + 0x2570], 1
jmp 0x494c38
mov edi, dword [esi + 0x2628]
cmp edi, 0xffffffff
je 0x494c38
push 0x23
push ebx
push edi
call fcn.00401000
add esp, 0xc
test al, al
jne 0x494571
push str.In_CurrentHotkey_0_HOTKEYS_1_
lea ecx, [ebp - 0x1c4]
call fcn.00403d40
mov byte [ebp - 4], 0xb
push 0x5b45eb
lea ecx, [ebp - 0x4d4]
call fcn.00403d40
mov byte [ebp - 4], 0xc
push str.CurrentHotkey
lea ecx, [ebp - 0x1fc]
call fcn.00403d40
mov byte [ebp - 4], 0xd
push str.assertion_failed
lea ecx, [ebp - 0x42c]
call fcn.00403d40
mov byte [ebp - 4], 0xe
push str..Dialogs.cpp
lea ecx, [ebp - 0x90]
call fcn.00403d40
mov byte [ebp - 4], 0xf
lea eax, [ebp - 0x1c4]
push eax
push ebx
lea ecx, [ebp - 0x4d4]
push ecx
mov edx, dword [esi + 0x2628]
push edx
lea eax, [ebp - 0x1fc]
push eax
lea ecx, [ebp - 0x42c]
push ecx
push 0x1110
lea edx, [ebp - 0x90]
push edx
lea ecx, [ebp - 0x634]
call fcn.0054a580
push 0x5d7834
lea eax, [ebp - 0x634]
push eax
call fcn.0055a7d2
mov dword [esi + edi*4 + 0x2570], ebx
jmp 0x494c38
mov eax, dword [esi + 0x2628]
cmp eax, 0xffffffff
je 0x494c38
push 0x23
push ebx
push eax
call fcn.00401000
add esp, 0xc
test al, al
jne 0x494650
push str.In_CurrentHotkey_0_HOTKEYS_1_
lea ecx, [ebp - 0x50c]
call fcn.00403d40
mov byte [ebp - 4], 0x10
push 0x5b45eb
lea ecx, [ebp - 0x26c]
call fcn.00403d40
mov byte [ebp - 4], 0x11
push str.CurrentHotkey
lea ecx, [ebp - 0x464]
call fcn.00403d40
mov byte [ebp - 4], 0x12
push str.assertion_failed
lea ecx, [ebp - 0x2a4]
call fcn.00403d40
mov byte [ebp - 4], 0x13
push str..Dialogs.cpp
lea ecx, [ebp - 0x544]
call fcn.00403d40
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x50c]
push ecx
push ebx
lea edx, [ebp - 0x26c]
push edx
mov eax, dword [esi + 0x2628]
push eax
lea ecx, [ebp - 0x464]
push ecx
lea edx, [ebp - 0x2a4]
push edx
push 0x1116
lea eax, [ebp - 0x544]
push eax
lea ecx, [ebp - 0x724]
call fcn.0054a580
push 0x5d7834
lea ecx, [ebp - 0x724]
push ecx
call fcn.0055a7d2
mov ecx, dword [esi + 0x2608]
mov edx, dword [ecx]
call dword [edx + 0xa4]
mov ecx, dword [esi + 0x2628]
mov byte [ecx + esi + 0x242c], al
xor edi, edi
mov dword [ebp - 0x14], edi
cmp edi, 0x24
jge 0x4946ad
mov edx, dword [esi + edi*4 + 0x2570]
push edx
mov eax, dword [esi + edi*4 + 0x24e0]
push eax
mov ecx, dword [esi + edi*4 + 0x2450]
push ecx
xor edx, edx
mov dl, byte [edi + esi + 0x242c]
push edx
mov eax, edi
shl eax, 8
lea ecx, [eax + esi + 0x2c]
push ecx
push edi
call fcn.00509ff0
add esp, 0x18
inc edi
jmp 0x49466d
call fcn.0051a6d0
mov edx, dword [esi + 0x2628]
mov dword [0x630838], edx
push 8
jmp 0x494c30
mov edi, dword [esi + 0x2628]
cmp edi, 0xffffffff
je 0x494c38
push 0x23
push ebx
push edi
call fcn.00401000
add esp, 0xc
test al, al
jne 0x494798
push str.In_CurrentHotkey_0_HOTKEYS_1_
lea ecx, [ebp - 0x2dc]
call fcn.00403d40
mov byte [ebp - 4], 0x15
push 0x5b45eb
lea ecx, [ebp - 0x4f0]
call fcn.00403d40
mov byte [ebp - 4], 0x16
push str.CurrentHotkey
lea ecx, [ebp - 0x314]
call fcn.00403d40
mov byte [ebp - 4], 0x17
push str.assertion_failed
lea ecx, [ebp - 0x4b8]
call fcn.00403d40
mov byte [ebp - 4], 0x18
push str..Dialogs.cpp
lea ecx, [ebp - 0x34c]
call fcn.00403d40
mov byte [ebp - 4], 0x19
lea eax, [ebp - 0x2dc]
push eax
push ebx
lea ecx, [ebp - 0x4f0]
push ecx
mov edx, dword [esi + 0x2628]
push edx
lea eax, [ebp - 0x314]
push eax
lea ecx, [ebp - 0x4b8]
push ecx
push 0x1120
lea edx, [ebp - 0x34c]
push edx
lea ecx, [ebp - 0x5bc]
call fcn.0054a580
push 0x5d7834
lea eax, [ebp - 0x5bc]
push eax
call fcn.0055a7d2
cmp dword [esi + edi*4 + 0x2450], ebx
je 0x494c38
shl edi, 8
mov byte [edi + esi + 0x2c], bl
mov ecx, dword [esi + 0x2628]
mov byte [ecx + esi + 0x242c], bl
mov edx, dword [esi + 0x2628]
mov dword [esi + edx*4 + 0x2450], ebx
mov eax, dword [esi + 0x2628]
mov dword [esi + eax*4 + 0x24e0], ebx
mov ecx, dword [esi + 0x2628]
mov dword [esi + ecx*4 + 0x2570], ebx
mov edx, dword [esi + 0x2628]
push edx
mov ecx, esi
call fcn.00493a30
mov eax, dword [esi + 0x2628]
cmp eax, 0xffffffff
je 0x4948dc
push 0x23
push ebx
push eax
call fcn.00401000
add esp, 0xc
test al, al
jne 0x4948c1
push str.In_CurrentHotkey_0_HOTKEYS_1_
lea ecx, [ebp - 0x528]
call fcn.00403d40
mov byte [ebp - 4], 0x1a
push 0x5b45eb
lea ecx, [ebp - 0xac]
call fcn.00403d40
mov byte [ebp - 4], 0x1b
push str.CurrentHotkey
lea ecx, [ebp - 0xc8]
call fcn.00403d40
mov byte [ebp - 4], 0x1c
push str.assertion_failed
lea ecx, [ebp - 0x100]
call fcn.00403d40
mov byte [ebp - 4], 0x1d
push str..Dialogs.cpp
lea ecx, [ebp - 0x138]
call fcn.00403d40
mov byte [ebp - 4], 0x1e
lea eax, [ebp - 0x528]
push eax
push ebx
lea ecx, [ebp - 0xac]
push ecx
mov edx, dword [esi + 0x2628]
push edx
lea eax, [ebp - 0xc8]
push eax
lea ecx, [ebp - 0x100]
push ecx
push 0x112b
lea edx, [ebp - 0x138]
push edx
lea ecx, [ebp - 0x5f8]
call fcn.0054a580
push 0x5d7834
lea eax, [ebp - 0x5f8]
push eax
call fcn.0055a7d2
mov ecx, dword [esi + 0x2608]
mov edx, dword [ecx]
call dword [edx + 0xa4]
mov ecx, dword [esi + 0x2628]
mov byte [ecx + esi + 0x242c], al
mov ecx, dword [esi + 0x2600]
call fcn.00464c30
mov edi, eax
mov dword [esi + 0x2628], edi
push 0x23
push ebx
push edi
call fcn.00401000
add esp, 0xc
mov ecx, dword [esi + 0x2604]
test al, al
je 0x494b3b
mov edx, dword [ecx]
shl edi, 8
lea eax, [edi + esi + 0x2c]
push eax
call dword [edx + 0xa0]
mov ecx, dword [esi + 0x2628]
mov eax, dword [esi + ecx*4 + 0x2450]
mov ecx, dword [esi + 0x2604]
cmp eax, ebx
jne 0x4949f4
push 1
call fcn.0046fd10
mov eax, dword [esi + 0x2628]
cmp byte [eax + esi + 0x242c], bl
je 0x494966
shl eax, 8
lea eax, [eax + esi + 0x2c]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x494954
sub eax, edx
mov dword [ebp - 0x58], eax
je 0x494966
mov al, 1
jmp 0x494968
xor al, al
mov ecx, dword [esi + 0x2608]
mov edx, dword [ecx]
push eax
call dword [edx + 0xa0]
mov eax, dword [esi + 0x2628]
shl eax, 8
lea eax, [eax + esi + 0x2c]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x494987
sub eax, edx
mov dword [ebp - 0x28], eax
setne cl
push ecx
mov ecx, dword [esi + 0x2608]
call fcn.0047cce0
sub esp, 0xc
mov dword [ebp - 0x68], esp
mov eax, esp
mov dword [ebp - 0x30], eax
mov dword [eax], ebx
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov ecx, dword [esi + 0x260c]
call fcn.004646c0
push ebx
mov ecx, dword [esi + 0x261c]
call fcn.00464810
push ebx
mov ecx, dword [esi + 0x2620]
call fcn.00464810
push ebx
mov ecx, dword [esi + 0x2624]
call fcn.00464810
mov esi, dword [esi + 0x2618]
mov dword [ebp - 0x50], esi
mov dword [esi], ebx
jmp 0x494c38
push ebx
call fcn.0046fd10
mov ecx, dword [esi + 0x2608]
mov edx, dword [ecx]
push ebx
call dword [edx + 0xa0]
push ebx
mov ecx, dword [esi + 0x2608]
call fcn.0047cce0
mov eax, dword [esi + 0x2628]
mov ecx, dword [esi + eax*4 + 0x24e0]
mov dword [ebp - 0x38], ecx
mov edx, dword [esi + eax*4 + 0x2450]
mov dword [ebp - 0x60], edx
sub esp, 0xc
mov dword [ebp - 0x40], esp
mov eax, esp
mov dword [ebp - 0x20], eax
mov dword [eax], edx
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov ecx, dword [esi + 0x260c]
call fcn.004646c0
mov eax, dword [esi + 0x2628]
mov ecx, dword [esi + eax*4 + 0x24e0]
mov dword [ebp - 0x48], ecx
mov eax, dword [esi + eax*4 + 0x2450]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x6c], ebx
push 7
push eax
call fcn.004fc2b0
add esp, 8
mov ecx, dword [esi + 0x261c]
test al, al
jne 0x494ab3
push ebx
call fcn.00464810
push ebx
mov ecx, dword [esi + 0x2620]
call fcn.00464810
push ebx
mov ecx, dword [esi + 0x2624]
call fcn.00464810
mov esi, dword [esi + 0x2618]
mov dword [ebp - 0x2c], esi
mov dword [esi], ebx
jmp 0x494c38
push 1
call fcn.00464810
push 1
mov ecx, dword [esi + 0x2620]
call fcn.00464810
push 1
mov ecx, dword [esi + 0x2624]
call fcn.00464810
xor eax, eax
mov dword [ebp - 0x18], eax
mov ecx, dword [esi + 0x2628]
mov ecx, dword [esi + ecx*4 + 0x2570]
sub ecx, ebx
je 0x494b22
dec ecx
je 0x494b09
dec ecx
jne 0x494b2b
mov eax, dword [esi + 0x261c]
mov dword [ebp - 0x18], eax
mov esi, dword [esi + 0x2618]
mov dword [ebp - 0x34], esi
mov dword [esi], eax
jmp 0x494c38
mov eax, dword [esi + 0x2620]
mov dword [ebp - 0x18], eax
mov esi, dword [esi + 0x2618]
mov dword [ebp - 0x34], esi
mov dword [esi], eax
jmp 0x494c38
mov eax, dword [esi + 0x2624]
mov dword [ebp - 0x18], eax
mov esi, dword [esi + 0x2618]
mov dword [ebp - 0x34], esi
mov dword [esi], eax
jmp 0x494c38
push 1
call fcn.0046fd10
mov ecx, dword [esi + 0x2608]
mov edx, dword [ecx]
push ebx
call dword [edx + 0xa0]
push ebx
mov ecx, dword [esi + 0x2608]
call fcn.0047cce0
sub esp, 0xc
mov dword [ebp - 0x3c], esp
mov eax, esp
mov dword [ebp - 0x44], eax
mov dword [eax], ebx
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov ecx, dword [esi + 0x260c]
call fcn.004646c0
push ebx
mov ecx, dword [esi + 0x261c]
call fcn.00464810
push ebx
mov ecx, dword [esi + 0x2620]
call fcn.00464810
push ebx
mov ecx, dword [esi + 0x2624]
call fcn.00464810
mov esi, dword [esi + 0x2618]
mov dword [ebp - 0x4c], esi
mov dword [esi], ebx
jmp 0x494c38
cmp dword [esi + 0x2628], 0xffffffff
je 0x494bd3
mov ecx, dword [esi + 0x2608]
mov eax, dword [ecx]
call dword [eax + 0xa4]
mov ecx, dword [esi + 0x2628]
mov byte [ecx + esi + 0x242c], al
xor edi, edi
mov dword [ebp - 0x14], edi
cmp edi, 0x24
jge 0x494c15
mov edx, dword [esi + edi*4 + 0x2570]
push edx
mov eax, dword [esi + edi*4 + 0x24e0]
push eax
mov ecx, dword [esi + edi*4 + 0x2450]
push ecx
xor edx, edx
mov dl, byte [edi + esi + 0x242c]
push edx
mov eax, edi
shl eax, 8
lea ecx, [eax + esi + 0x2c]
push ecx
push edi
call fcn.00509ff0
add esp, 0x18
inc edi
jmp 0x494bd5
push ebx
call fcn.005182a0
add esp, 4
call fcn.0051a5c0
cmp eax, 0x24
je 0x494c38
call fcn.0050c060
jmp 0x494c38
push ebx
call fcn.005182a0
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0x5b45eb
lea ecx, [ebp - 0x170]
call fcn.00403d40
mov byte [ebp - 4], 0x1f
push 0x5b45eb
lea ecx, [ebp - 0x1a8]
call fcn.00403d40
mov byte [ebp - 4], 0x20
push str.Event
lea ecx, [ebp - 0x1e0]
call fcn.00403d40
mov byte [ebp - 4], 0x21
push str.unknown_event
lea ecx, [ebp - 0x218]
call fcn.00403d40
mov byte [ebp - 4], 0x22
push str..Dialogs.cpp
lea ecx, [ebp - 0x250]
call fcn.00403d40
mov byte [ebp - 4], 0x23
lea edx, [ebp - 0x170]
push edx
push ebx
lea eax, [ebp - 0x1a8]
push eax
push edi
lea ecx, [ebp - 0x1e0]
push ecx
lea edx, [ebp - 0x218]
push edx
push 0x116b
lea eax, [ebp - 0x250]
push eax
lea ecx, [ebp - 0x670]
call fcn.0054a580
push 0x5d7834
lea ecx, [ebp - 0x670]
push ecx
call fcn.0055a7d2
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x1c], edx
push 0x5d7844
lea eax, [ebp - 0x1c]
push eax
call fcn.0055a7d2
push 0x5b45eb
lea ecx, [ebp - 0x288]
call fcn.00403d40
mov byte [ebp - 4], 0x25
push str.Event
lea ecx, [ebp - 0x2c0]
call fcn.00403d40
mov byte [ebp - 4], 0x26
push 0x5b45d8
lea ecx, [ebp - 0x2f8]
call fcn.00403d40
mov byte [ebp - 4], 0x27
push str..Dialogs.cpp
lea ecx, [ebp - 0x330]
call fcn.00403d40
mov byte [ebp - 4], 0x28
mov ecx, dword [ebp - 0x5c]
push ecx
push 0
lea edx, [ebp - 0x288]
push edx
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x2c0]
push ecx
lea edx, [ebp - 0x2f8]
push edx
push 0x116e
lea eax, [ebp - 0x330]
push eax
lea ecx, [ebp - 0x6e8]
call fcn.0054a870
push 0x5d7834
lea ecx, [ebp - 0x6e8]
push ecx
call fcn.0055a7d2
mov ecx, dword [ebp - 0x64]
mov edx, dword [ecx]
call dword [edx + 4]
push eax
lea ecx, [ebp - 0x368]
call fcn.00403d40
mov byte [ebp - 4], 0x29
push 0x5b45eb
lea ecx, [ebp - 0x3a0]
call fcn.00403d40
mov byte [ebp - 4], 0x2a
push str.Event
lea ecx, [ebp - 0x3d8]
call fcn.00403d40
mov byte [ebp - 4], 0x2b
push str.standard_exception_occurred
lea ecx, [ebp - 0x410]
call fcn.00403d40
mov byte [ebp - 4], 0x2c
push str..Dialogs.cpp
lea ecx, [ebp - 0x448]
call fcn.00403d40
mov byte [ebp - 4], 0x2d
lea eax, [ebp - 0x368]
push eax
push 0
lea ecx, [ebp - 0x3a0]
push ecx
mov edx, dword [ebp + 8]
push edx
lea eax, [ebp - 0x3d8]
push eax
lea ecx, [ebp - 0x410]
push ecx
push 0x116e
lea edx, [ebp - 0x448]
push edx
lea ecx, [ebp - 0x760]
call fcn.0054a580
push 0x5d7834
lea eax, [ebp - 0x760]
push eax
call fcn.0055a7d2
lea ecx, [ecx]
scasd eax, dword es:[edi]
dec ebx
dec ecx
add byte [edi], ch
dec esp
dec ecx
add dh, ch
inc edi
dec ecx
add byte [ebp + 0x45], bh
dec ecx
add ch, al
inc esi
dec ecx
add al, bl
inc edx
dec ecx
add byte [ebx - 0x61ffb6bd], bh
inc esp
dec ecx
add byte [edx + 0x4c], dl
dec ecx
add byte [eax], al
add dword [eax], ecx
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [edx], al
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
or byte [eax], cl
add eax, dword [eax - 859044090]
int3