Function at 0x494c80
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5992e4
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.0x494cc1.3
movzx eax, byte [eax + 0x495870]
jmp dword [eax*4 + 0x49584c]
mov edi, dword [esi + 0x2628]
cmp edi, 0xffffffff
je 0x495628
push 0x23
push ebx
push edi
call fcn.00401100
add esp, 0xc
test al, al
jne 0x494d9b
push str.In_CurrentHotkey_0_HOTKEYS_1_
lea ecx, [ebp - 0x234]
call fcn.00403e20
mov byte [ebp - 4], 1
push 0x5ba7cb
lea ecx, [ebp - 0x384]
call fcn.00403e20
mov byte [ebp - 4], 2
push str.CurrentHotkey
lea ecx, [ebp - 0xe4]
call fcn.00403e20
mov byte [ebp - 4], 3
push str.assertion_failed
lea ecx, [ebp - 0x480]
call fcn.00403e20
mov byte [ebp - 4], 4
push str..Dialogs.cpp
lea ecx, [ebp - 0x11c]
call fcn.00403e20
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 0x113a
lea eax, [ebp - 0x11c]
push eax
lea ecx, [ebp - 0x580]
call fcn.0054fb40
push 0x5e02c8
lea ecx, [ebp - 0x580]
push ecx
call fcn.00560081
mov dword [esi + edi*4 + 0x2570], 2
jmp 0x495628
mov edi, dword [esi + 0x2628]
cmp edi, 0xffffffff
je 0x495628
push 0x23
push ebx
push edi
call fcn.00401100
add esp, 0xc
test al, al
jne 0x494e7e
push str.In_CurrentHotkey_0_HOTKEYS_1_
lea ecx, [ebp - 0x3bc]
call fcn.00403e20
mov byte [ebp - 4], 6
push 0x5ba7cb
lea ecx, [ebp - 0x154]
call fcn.00403e20
mov byte [ebp - 4], 7
push str.CurrentHotkey
lea ecx, [ebp - 0x49c]
call fcn.00403e20
mov byte [ebp - 4], 8
push str.assertion_failed
lea ecx, [ebp - 0x18c]
call fcn.00403e20
mov byte [ebp - 4], 9
push str..Dialogs.cpp
lea ecx, [ebp - 0x3f4]
call fcn.00403e20
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 0x1140
lea ecx, [ebp - 0x3f4]
push ecx
lea ecx, [ebp - 0x6ac]
call fcn.0054fb40
push 0x5e02c8
lea edx, [ebp - 0x6ac]
push edx
call fcn.00560081
mov dword [esi + edi*4 + 0x2570], 1
jmp 0x495628
mov edi, dword [esi + 0x2628]
cmp edi, 0xffffffff
je 0x495628
push 0x23
push ebx
push edi
call fcn.00401100
add esp, 0xc
test al, al
jne 0x494f61
push str.In_CurrentHotkey_0_HOTKEYS_1_
lea ecx, [ebp - 0x1c4]
call fcn.00403e20
mov byte [ebp - 4], 0xb
push 0x5ba7cb
lea ecx, [ebp - 0x4d4]
call fcn.00403e20
mov byte [ebp - 4], 0xc
push str.CurrentHotkey
lea ecx, [ebp - 0x1fc]
call fcn.00403e20
mov byte [ebp - 4], 0xd
push str.assertion_failed
lea ecx, [ebp - 0x42c]
call fcn.00403e20
mov byte [ebp - 4], 0xe
push str..Dialogs.cpp
lea ecx, [ebp - 0x90]
call fcn.00403e20
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 0x1146
lea edx, [ebp - 0x90]
push edx
lea ecx, [ebp - 0x634]
call fcn.0054fb40
push 0x5e02c8
lea eax, [ebp - 0x634]
push eax
call fcn.00560081
mov dword [esi + edi*4 + 0x2570], ebx
jmp 0x495628
mov eax, dword [esi + 0x2628]
cmp eax, 0xffffffff
je 0x495628
push 0x23
push ebx
push eax
call fcn.00401100
add esp, 0xc
test al, al
jne 0x495040
push str.In_CurrentHotkey_0_HOTKEYS_1_
lea ecx, [ebp - 0x50c]
call fcn.00403e20
mov byte [ebp - 4], 0x10
push 0x5ba7cb
lea ecx, [ebp - 0x26c]
call fcn.00403e20
mov byte [ebp - 4], 0x11
push str.CurrentHotkey
lea ecx, [ebp - 0x464]
call fcn.00403e20
mov byte [ebp - 4], 0x12
push str.assertion_failed
lea ecx, [ebp - 0x2a4]
call fcn.00403e20
mov byte [ebp - 4], 0x13
push str..Dialogs.cpp
lea ecx, [ebp - 0x544]
call fcn.00403e20
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 0x114c
lea eax, [ebp - 0x544]
push eax
lea ecx, [ebp - 0x724]
call fcn.0054fb40
push 0x5e02c8
lea ecx, [ebp - 0x724]
push ecx
call fcn.00560081
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 0x49509d
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.0050ebe0
add esp, 0x18
inc edi
jmp 0x49505d
call fcn.0051fb10
mov edx, dword [esi + 0x2628]
mov dword [0x63a744], edx
push 8
jmp 0x495620
mov edi, dword [esi + 0x2628]
cmp edi, 0xffffffff
je 0x495628
push 0x23
push ebx
push edi
call fcn.00401100
add esp, 0xc
test al, al
jne 0x495188
push str.In_CurrentHotkey_0_HOTKEYS_1_
lea ecx, [ebp - 0x2dc]
call fcn.00403e20
mov byte [ebp - 4], 0x15
push 0x5ba7cb
lea ecx, [ebp - 0x4f0]
call fcn.00403e20
mov byte [ebp - 4], 0x16
push str.CurrentHotkey
lea ecx, [ebp - 0x314]
call fcn.00403e20
mov byte [ebp - 4], 0x17
push str.assertion_failed
lea ecx, [ebp - 0x4b8]
call fcn.00403e20
mov byte [ebp - 4], 0x18
push str..Dialogs.cpp
lea ecx, [ebp - 0x34c]
call fcn.00403e20
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 0x1156
lea edx, [ebp - 0x34c]
push edx
lea ecx, [ebp - 0x5bc]
call fcn.0054fb40
push 0x5e02c8
lea eax, [ebp - 0x5bc]
push eax
call fcn.00560081
cmp dword [esi + edi*4 + 0x2450], ebx
je 0x495628
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.00494420
mov eax, dword [esi + 0x2628]
cmp eax, 0xffffffff
je 0x4952cc
push 0x23
push ebx
push eax
call fcn.00401100
add esp, 0xc
test al, al
jne 0x4952b1
push str.In_CurrentHotkey_0_HOTKEYS_1_
lea ecx, [ebp - 0x528]
call fcn.00403e20
mov byte [ebp - 4], 0x1a
push 0x5ba7cb
lea ecx, [ebp - 0xac]
call fcn.00403e20
mov byte [ebp - 4], 0x1b
push str.CurrentHotkey
lea ecx, [ebp - 0xc8]
call fcn.00403e20
mov byte [ebp - 4], 0x1c
push str.assertion_failed
lea ecx, [ebp - 0x100]
call fcn.00403e20
mov byte [ebp - 4], 0x1d
push str..Dialogs.cpp
lea ecx, [ebp - 0x138]
call fcn.00403e20
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 0x1161
lea edx, [ebp - 0x138]
push edx
lea ecx, [ebp - 0x5f8]
call fcn.0054fb40
push 0x5e02c8
lea eax, [ebp - 0x5f8]
push eax
call fcn.00560081
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.004653e0
mov edi, eax
mov dword [esi + 0x2628], edi
push 0x23
push ebx
push edi
call fcn.00401100
add esp, 0xc
mov ecx, dword [esi + 0x2604]
test al, al
je 0x49552b
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 0x4953e4
push 1
call fcn.00470550
mov eax, dword [esi + 0x2628]
cmp byte [eax + esi + 0x242c], bl
je 0x495356
shl eax, 8
lea eax, [eax + esi + 0x2c]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x495344
sub eax, edx
mov dword [ebp - 0x58], eax
je 0x495356
mov al, 1
jmp 0x495358
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 0x495377
sub eax, edx
mov dword [ebp - 0x28], eax
setne cl
push ecx
mov ecx, dword [esi + 0x2608]
call fcn.0047d510
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.00464e60
push ebx
mov ecx, dword [esi + 0x261c]
call fcn.00464fb0
push ebx
mov ecx, dword [esi + 0x2620]
call fcn.00464fb0
push ebx
mov ecx, dword [esi + 0x2624]
call fcn.00464fb0
mov esi, dword [esi + 0x2618]
mov dword [ebp - 0x50], esi
mov dword [esi], ebx
jmp 0x495628
push ebx
call fcn.00470550
mov ecx, dword [esi + 0x2608]
mov edx, dword [ecx]
push ebx
call dword [edx + 0xa0]
push ebx
mov ecx, dword [esi + 0x2608]
call fcn.0047d510
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.00464e60
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.00500ec0
add esp, 8
mov ecx, dword [esi + 0x261c]
test al, al
jne 0x4954a3
push ebx
call fcn.00464fb0
push ebx
mov ecx, dword [esi + 0x2620]
call fcn.00464fb0
push ebx
mov ecx, dword [esi + 0x2624]
call fcn.00464fb0
mov esi, dword [esi + 0x2618]
mov dword [ebp - 0x2c], esi
mov dword [esi], ebx
jmp 0x495628
push 1
call fcn.00464fb0
push 1
mov ecx, dword [esi + 0x2620]
call fcn.00464fb0
push 1
mov ecx, dword [esi + 0x2624]
call fcn.00464fb0
xor eax, eax
mov dword [ebp - 0x18], eax
mov ecx, dword [esi + 0x2628]
mov ecx, dword [esi + ecx*4 + 0x2570]
sub ecx, ebx
je 0x495512
dec ecx
je 0x4954f9
dec ecx
jne 0x49551b
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 0x495628
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 0x495628
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 0x495628
push 1
call fcn.00470550
mov ecx, dword [esi + 0x2608]
mov edx, dword [ecx]
push ebx
call dword [edx + 0xa0]
push ebx
mov ecx, dword [esi + 0x2608]
call fcn.0047d510
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.00464e60
push ebx
mov ecx, dword [esi + 0x261c]
call fcn.00464fb0
push ebx
mov ecx, dword [esi + 0x2620]
call fcn.00464fb0
push ebx
mov ecx, dword [esi + 0x2624]
call fcn.00464fb0
mov esi, dword [esi + 0x2618]
mov dword [ebp - 0x4c], esi
mov dword [esi], ebx
jmp 0x495628
cmp dword [esi + 0x2628], 0xffffffff
je 0x4955c3
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 0x495605
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.0050ebe0
add esp, 0x18
inc edi
jmp 0x4955c5
push ebx
call fcn.0051d1f0
add esp, 4
call fcn.0051fa00
cmp eax, 0x24
je 0x495628
call fcn.00510c50
jmp 0x495628
push ebx
call fcn.0051d1f0
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 0x5ba7cb
lea ecx, [ebp - 0x170]
call fcn.00403e20
mov byte [ebp - 4], 0x1f
push 0x5ba7cb
lea ecx, [ebp - 0x1a8]
call fcn.00403e20
mov byte [ebp - 4], 0x20
push str.Event
lea ecx, [ebp - 0x1e0]
call fcn.00403e20
mov byte [ebp - 4], 0x21
push str.unknown_event
lea ecx, [ebp - 0x218]
call fcn.00403e20
mov byte [ebp - 4], 0x22
push str..Dialogs.cpp
lea ecx, [ebp - 0x250]
call fcn.00403e20
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 0x11a1
lea eax, [ebp - 0x250]
push eax
lea ecx, [ebp - 0x670]
call fcn.0054fb40
push 0x5e02c8
lea ecx, [ebp - 0x670]
push ecx
call fcn.00560081
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x1c], edx
push 0x5e02d8
lea eax, [ebp - 0x1c]
push eax
call fcn.00560081
push 0x5ba7cb
lea ecx, [ebp - 0x288]
call fcn.00403e20
mov byte [ebp - 4], 0x25
push str.Event
lea ecx, [ebp - 0x2c0]
call fcn.00403e20
mov byte [ebp - 4], 0x26
push 0x5ba7b8
lea ecx, [ebp - 0x2f8]
call fcn.00403e20
mov byte [ebp - 4], 0x27
push str..Dialogs.cpp
lea ecx, [ebp - 0x330]
call fcn.00403e20
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 0x11a4
lea eax, [ebp - 0x330]
push eax
lea ecx, [ebp - 0x6e8]
call fcn.0054fe30
push 0x5e02c8
lea ecx, [ebp - 0x6e8]
push ecx
call fcn.00560081
mov ecx, dword [ebp - 0x64]
mov edx, dword [ecx]
call dword [edx + 4]
push eax
lea ecx, [ebp - 0x368]
call fcn.00403e20
mov byte [ebp - 4], 0x29
push 0x5ba7cb
lea ecx, [ebp - 0x3a0]
call fcn.00403e20
mov byte [ebp - 4], 0x2a
push str.Event
lea ecx, [ebp - 0x3d8]
call fcn.00403e20
mov byte [ebp - 4], 0x2b
push str.standard_exception_occurred
lea ecx, [ebp - 0x410]
call fcn.00403e20
mov byte [ebp - 4], 0x2c
push str..Dialogs.cpp
lea ecx, [ebp - 0x448]
call fcn.00403e20
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 0x11a4
lea edx, [ebp - 0x448]
push edx
lea ecx, [ebp - 0x760]
call fcn.0054fb40
push 0x5e02c8
lea eax, [ebp - 0x760]
push eax
call fcn.00560081
lea ecx, [ecx]
lahf
push ebp
dec ecx
add byte [edi], bl
push esi
dec ecx
add dh, bl
push ecx
dec ecx
add byte [ebp + 0x4f], ch
dec ecx
add byte [ebp - 0x37ffb6b0], dh
dec esp
dec ecx
add byte [ebx - 0x71ffb6b3], ch
dec esi
dec ecx
add byte [edx + 0x56], al
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