Function at 0x10007b65
Capabilities:
Get keyboard layout

Disassembly:
mov eax, 0x100642ba
call fcn.10063a98
sub esp, 0x190
cmp byte [ebp + 0x34], 0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x78], edx
mov dword [ebp - 0x84], ecx
je 0x100085e2
cmp byte [ebp + 0x1c], 0
je 0x10007ba8
push 0
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_EndDialog]
jmp 0x1000889b
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x24], 0x774c
cmp dword [ebp - 0x24], 0x787d
mov dword [ebp - 0x48], eax
jle 0x10007c46
push 0x1cee
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
xor ebx, ebx
xor esi, esi
mov eax, ebx
inc esi
mov dword [ebp - 0x18], eax
mov edi, ebx
mov dword [ebp - 0x28], ebx
mov ecx, edi
mov edi, ebx
shl eax, cl
mov dword [ebp - 0x1c], eax
mov ecx, edi
shl eax, cl
lea ecx, [ebp - 0x180]
cdq
push edx
push eax
call fcn.10001a31
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10007c01
mov eax, dword [eax]
push eax
call fcn.1004b616
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x180]
call fcn.1000230b
mov eax, dword [ebp - 0x1c]
inc edi
cmp edi, 0x414a
jl 0x10007be5
mov edi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
inc edi
mov dword [ebp - 0x28], edi
cmp edi, 0x3f7e
jl 0x10007bdc
inc eax
mov dword [ebp - 0x18], eax
cmp eax, 0x30f5
jl 0x10007bd7
call dword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
jmp 0x10007c4b
xor esi, esi
xor ebx, ebx
inc esi
push 2
lea ecx, [ebp - 0xf0]
call fcn.10001ff7
push esi
lea ecx, [ebp - 0xe4]
mov dword [ebp - 4], ebx
call fcn.10001ff7
push ebx
push ebx
xor eax, eax
mov edx, 0x4d2e
inc eax
mov ecx, 0x6892
push 0x3504
push eax
mov byte [ebp - 4], al
lea eax, [ebp - 0x94]
push 0x321f
push 0x79a
push eax
lea eax, [ebp - 0xf0]
mov dword [ebp - 0x40], 0x21c
push eax
call fcn.10004e57
add esp, 0x1c
lea eax, [ebp - 0x94]
mov ecx, 0x7ecb
push eax
lea eax, [ebp - 0xe4]
push eax
push ebx
call fcn.10004481
push 0xa4d
xor esi, esi
lea eax, [ebp - 0xf0]
inc esi
xor dl, dl
push esi
push eax
push ebx
lea eax, [ebp - 0xe4]
mov ecx, 0x5f16
push eax
push 0x2fcc
call fcn.100067e6
add esp, 0x28
lea ecx, [ebp - 0xe4]
call fcn.1000207a
lea ecx, [ebp - 0xf0]
call fcn.1000207a
cmp dword [ebp - 0x24], 0x7449
jge 0x10007d15
push str.xemvi_odvt_vzqhh_nxamok_kvw_zjaost_mxnubksvz_ygo_ikpybi_kull_ikizbeanm_itzfnnmpn_rkavyzsyi_ykjcgjytf
call fcn.1004b616
pop ecx
xor eax, eax
mov dword [ebp - 0xac], 7
mov dword [ebp - 0xb0], ebx
mov word [ebp - 0xc0], ax
push ebx
push 0x26e2
push ecx
push ecx
mov edx, 0x4297
mov dword [ebp - 4], 4
call fcn.1000458b
mov dword [ebp - 0x1c], 0x7bec
add esp, 0x10
cmp dword [ebp - 0x1c], 0x7dde
jle 0x10007dd5
mov edi, ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x24], 0x3958
mov edi, ebx
mov ecx, ebx
mov dword [ebp - 0x28], ebx
mov eax, edi
cdq
idiv ecx
lea ecx, [ebp - 0x138]
and edx, dword [ebp - 0x18]
mov eax, edx
cdq
push edx
push eax
call fcn.10001a31
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10007d92
mov eax, dword [eax]
push eax
call fcn.1004b616
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x138]
call fcn.1000230b
mov ecx, dword [ebp - 0x28]
inc ecx
mov dword [ebp - 0x28], ecx
cmp ecx, 0x4f5a
jl 0x10007d70
inc edi
cmp edi, 0x12c6
jl 0x10007d6b
dec dword [ebp - 0x18]
dec dword [ebp - 0x24]
jne 0x10007d69
mov edi, dword [ebp - 0x20]
inc edi
mov dword [ebp - 0x20], edi
cmp edi, 0x25bb
jl 0x10007d5f
mov edi, dword [ebp + 0x24]
cmp edi, dword [ebp + 8]
ja 0x10007e07
mov eax, dword [ebp + 0x18]
lea ecx, [ebp - 0xc0]
cmp eax, ecx
je 0x10007df5
push 0xffffffffffffffff
push ebx
push ecx
mov ecx, eax
call fcn.1000f001
push ebx
push esi
lea ecx, [ebp - 0xc0]
call fcn.1000f1cb
jmp 0x1000889b
cmp dword [ebp - 0x1c], 0x79f1
jge 0x10007e1b
push str.aexb_ptmmzcgeu_murgvxwpe_aunpkev_frzmsrxr_ssnisidrj
call fcn.1004b616
pop ecx
mov dword [ebp - 4], 4
lea eax, [ebp - 0xf8]
push dword [ebp + 0x34]
movdqa xmm0, xmmword [0x10073400]
lea ecx, [ebp - 0x5c]
push eax
lea eax, [ebp - 0x108]
mov dword [ebp - 0x5c], ebx
push eax
or esi, 0xffffffff
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x3c], esi
push ebx
movdqu xmmword [ebp - 0x108], xmm0
mov dword [ebp - 0x54], ebx
call fcn.10003ea1
mov byte [ebp - 4], 7
push 3
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x18], ebx
pop edi
jmp 0x10007e77
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x120], esi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x10007e6a
push ebx
push 0x4c41
push ebx
push 0x3008
lea eax, [ebp - 0x3c]
mov edx, 0x2c53
push 0x132e
push eax
mov cl, 1
call fcn.10008d11
add esp, 0x18
mov dword [ebp - 0x3c], edi
cmp dword [ebp - 0x3c], ebx
jl 0x1000816c
mov dword [ebp - 0x24], 1
lea ecx, [ebp - 0xcc]
mov dword [ebp - 0x1c], ebx
push edi
call fcn.10001ff7
mov byte [ebp - 4], 8
mov dword [ebp - 0x18], ebx
jmp 0x10007ede
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xcc]
mov dword [eax + ecx*4], 0x17d239f9
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x10007ecb
mov dword [ebp - 0x24], edi
cmp dword [ebp - 0x24], ebx
jl 0x10008155
push edi
lea ecx, [ebp - 0x74]
call fcn.10001ff7
mov byte [ebp - 4], 9
lea edx, [ebp - 0x74]
push ebx
mov dword [ebp - 0x40], ebx
lea ecx, [ebp - 0xf8]
push ebx
mov dword [ebp - 0x1c], 5
push 0x24ea
mov dword [ebp - 0x7c], esi
call fcn.10005cad
mov eax, dword [ebp - 0x74]
add esp, 0xc
mov dword [eax + 8], ebx
mov eax, dword [ebp - 0x74]
cmp dword [eax + 8], edi
jg 0x10008141
push 1
lea ecx, [ebp - 0x68]
call fcn.10001ff7
push 0x46fa
push 0x1c33
push 1
lea eax, [ebp - 0xf4]
mov byte [ebp - 4], 0xa
push eax
push 0x1040
push 0x6732
lea eax, [ebp - 0x68]
mov dword [ebp - 0x28], 0xfffffff8
push eax
push 0x16c4
push 0xa13
push 0x6584
xor dl, dl
xor cl, cl
call fcn.10005aaf
add esp, 0x28
mov byte [ebp + 0x37], bl
lea eax, [ebp + 0x37]
push 0x4363
push ebx
push ecx
push eax
call fcn.10008cc6
mov dword [ebp - 0x18], 0x7742
add esp, 0x10
cmp dword [ebp - 0x18], 0x7909
jle 0x10007ff6
mov esi, ebx
mov edi, ebx
lea eax, [edi + esi]
cdq
lea ecx, [ebp - 0x150]
push edx
push eax
call fcn.10001a31
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10007fc9
mov eax, dword [eax]
push eax
call fcn.1004b616
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x150]
call fcn.1000230b
inc edi
cmp edi, 0x2af8
jl 0x10007fae
inc esi
cmp esi, 0x232f
jl 0x10007fac
push 3
or esi, 0xffffffff
pop edi
mov eax, dword [ebp - 0x68]
mov dword [eax], ebx
mov dword [ebp - 0x40], 0x89e022a5
mov dword [ebp - 0x40], 0xfffffffb
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x5c]
mov ecx, dword [edx + eax*4]
mov eax, dword [ebp - 0x68]
neg ecx
mov eax, dword [eax]
mov dword [edx + eax*4], ecx
cmp dword [ebp - 0x3c], ebx
je 0x10008040
lea eax, [ebp - 0x7c]
mov dword [ebp - 0x40], esi
push eax
push 1
push ecx
push 0x5f95
mov dword [ebp - 0x40], esi
call fcn.10008cc6
add esp, 0x10
jmp 0x10008106
xor edx, edx
mov dword [ebp - 0x1c], 0x31cd1ac8
mov dword [ebp - 0x1c], ebx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x68]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x5c]
cmp dword [eax + ecx*4], 0x394d2570
mov eax, dword [ebp - 0x28]
setge dl
xor ecx, ecx
imul eax, edx
cmp eax, 0x844f
mov eax, dword [ebp - 0x1c]
setg cl
xor edx, edx
cmp eax, ecx
setl dl
sub edx, 0xb1f356d9
neg edx
sbb edx, edx
inc edx
imul edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0xcc]
neg edx
sbb edx, edx
neg edx
mov dword [eax + 8], edx
xor edx, edx
mov eax, dword [ebp - 0x5c]
cmp dword [eax + ecx*4], 0x31ec8e12
mov eax, dword [ebp - 0x74]
setl dl
cmp esi, edx
sbb ecx, ecx
xor edx, edx
neg ecx
cmp dword [eax], ecx
setle dl
mov dword [ebp - 0x1c], edx
mov esi, dword [ebp - 0x1c]
imul esi, dword [ebp - 0x24]
mov eax, dword [ebp - 0x68]
mov ecx, dword [eax]
sub esi, 0x46bb
mov eax, dword [ebp - 0x5c]
neg esi
sbb esi, esi
xor edx, edx
inc esi
cmp esi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
setle dl
imul ecx, edx
add eax, 0x71e06e99
xor edx, edx
add ecx, eax
mov eax, dword [ebp - 0x2c]
cmp eax, ecx
setle dl
or esi, 0xffffffff
mov dword [ebp - 0x120], edx
mov eax, dword [ebp - 0x68]
inc dword [eax]
cmp dword [eax], edi
jle 0x10007ffb
cmp dword [ebp - 0x18], 0x7405
jge 0x10008127
push str.kgojps_uunnvgzwd_xgeqwncs_eao_nqxgewguy_yyyp_uxpeicls_ioywhbm_wgo
call fcn.1004b616
pop ecx
lea ecx, [ebp - 0x68]
mov dword [ebp - 4], 9
call fcn.1000207a
mov eax, dword [ebp - 0x74]
inc dword [eax + 8]
jmp 0x10007f27
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 8
call fcn.1000207a
dec dword [ebp - 0x24]
jmp 0x10007ee6
lea ecx, [ebp - 0xcc]
mov byte [ebp - 4], 7
call fcn.1000207a
dec dword [ebp - 0x3c]
jmp 0x10007ea3
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 4
call fcn.1000207a
mov eax, dword [ebp + 0x24]
lea ecx, [ebp - 0xc0]
sub eax, dword [ebp + 8]
sar eax, 1
push eax
call fcn.1000ed85
mov dword [ebp - 0x24], 0x37d4
xor edx, edx
mov dword [ebp - 0x18], 0xcd2466e9
mov eax, 0x9f4f9a02
inc edx
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x1c], 0x90f3bd79
mov dword [ebp - 0x20], ebx
jmp 0x100081dd
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x114], 0xf5e3d1aa
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jl 0x100081cc
mov dword [ebp - 0x20], ebx
jmp 0x100081f8
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0xa8], 7
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edx
jl 0x100081e7
cmp dword [ebp - 0x24], ebx
je 0x10008218
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov edi, edx
cmp edi, eax
mov eax, ebx
setle cl
add ecx, dword [ebp - 0x9c]
jne 0x1000821a
mov eax, edx
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0xa8], edx
mov dword [ebp - 0x24], ebx
jmp 0x10008246
mov eax, dword [ebp - 0x24]
cmp dword [ebp + eax*4 - 0xa4], ebx
jne 0x1000824c
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 3
jle 0x10008237
mov eax, dword [ebp + 0x24]
cmp dword [ebp + 8], eax
jae 0x100084be
mov esi, eax
push 2
pop edi
mov dword [ebp - 0x20], 0xf2c29a3d
lea ecx, [ebp - 0x90]
push edi
call fcn.10001ff7
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0xd8]
mov dword [ebp - 0x28], 7
mov dword [ebp - 0x18], 1
mov dword [ebp - 0x40], 0xcafdf115
push edi
call fcn.10001ff7
mov byte [ebp - 4], 0xe
xor edx, edx
mov dword [ebp - 0x2c], 0x6a00
inc edx
mov dword [ebp - 0x24], 0xfffffffa
mov dword [ebp - 0x38], ebx
jmp 0x100082bd
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0x34], 0xaf1124f0
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], edx
jl 0x100082af
mov dword [ebp - 0x38], ebx
jmp 0x100082da
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x90]
mov dword [eax + ecx*4], 0xa4a2c6eb
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], edi
jl 0x100082c7
lea eax, [ebp - 0x38]
push eax
sub esp, 0x10
lea eax, [ebp - 0xd8]
push edx
push eax
push ecx
push ecx
push 0x5605
push ecx
push ecx
push 0x5a1
call fcn.1000755b
mov dword [ebp - 0x20], ebx
add esp, 0x34
cmp dword [ebp - 0x20], ebx
jl 0x100083e8
push ecx
xor eax, eax
lea ecx, [ebp - 0x30]
push 0x59c0
inc eax
push 0x6d69
mov dword [ebp - 0x30], eax
push eax
call fcn.10004481
add esp, 0x10
mov dword [ebp - 0x30], ebx
jmp 0x100083d6
mov dword [ebp - 0x1c], 0x7ffff975
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x34]
mov eax, dword [ebp - 0x30]
cmp dword [ebp - 0x30], ebx
jne 0x10008367
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x34]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x34]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jne 0x1000838d
mov eax, dword [ebp - 0x90]
cmp dword [eax], ebx
jne 0x1000838d
mov eax, ebx
jmp 0x10008390
xor eax, eax
inc eax
imul ecx, eax, 0x3fca
xor edx, edx
mov eax, dword [ebp - 0x20]
cmp eax, ecx
mov eax, dword [ebp - 0x20]
setg dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x34]
cmp edx, eax
setl cl
add ecx, 0xc0d3
cmp dword [ebp - 0x30], ebx
jne 0x100083bd
mov ecx, ebx
jmp 0x100083c0
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x34]
sub eax, ecx
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x34]
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], ebx
jle 0x10008335
dec dword [ebp - 0x20]
jns 0x10008310
mov eax, dword [ebp - 0x2c]
imul eax, dword [ebp - 0x18]
test eax, eax
jne 0x100083ff
cmp dword [ebp - 0x34], ebx
jne 0x100083ff
xor edx, edx
mov edi, ebx
inc edx
jmp 0x10008404
xor edx, edx
inc edx
mov edi, edx
mov eax, dword [ebp - 0x34]
xor ecx, ecx
cmp edi, eax
mov eax, dword [ebp - 0x18]
sete cl
add eax, ecx
jne 0x1000841c
mov eax, ebx
cmp dword [ebp - 0x18], ebx
je 0x1000841e
mov eax, edx
imul eax, eax, 0xc08f
test eax, eax
je 0x1000842d
cmp dword [ebp - 0x2c], ebx
jne 0x1000842f
mov edx, ebx
inc dword [ebp - 0x24]
xor ecx, ecx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
cmp eax, edx
mov eax, dword [ebp - 0x90]
setl cl
xor edx, edx
cmp ecx, 0xfffffff7
setne dl
xor ecx, ecx
cmp edx, dword [eax]
setle cl
mov dword [ebp - 0x2c], ecx
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x90]
add ecx, dword [ebp - 0x2c]
imul ecx, dword [eax]
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0xd8]
mov dword [eax], ecx
lea ecx, [ebp - 0xd8]
call fcn.1000207a
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 4
call fcn.1000207a
mov edi, dword [ebp + 8]
mov ecx, edi
add edi, 2
mov dword [ebp + 8], edi
call fcn.100040ee
movzx eax, ax
lea ecx, [ebp - 0xc0]
push eax
call fcn.1000ed43
cmp edi, esi
jb 0x1000825a
or esi, 0xffffffff
mov dword [ebp - 0x40], 0x6240
mov byte [ebp - 0x41], bl
mov dword [ebp - 0x1c], 0x60c2
cmp dword [ebp - 0x1c], 0x61fe
jle 0x10008530
mov esi, ebx
mov dword [ebp + 0x34], ebx
mov edi, ebx
mov ecx, ebx
mov ebx, dword [ebp + 0x34]
mov dword [ebp - 0x2c], ecx
lea eax, [edi + ebx]
shl eax, cl
mov ecx, 0x100812f8
or eax, esi
cdq
push edx
push eax
call fcn.10001ee2
mov ecx, dword [ebp - 0x2c]
inc ecx
mov dword [ebp - 0x2c], ecx
cmp ecx, 0x75f8
jl 0x100084e7
inc edi
push 0
pop ebx
cmp edi, 0x7b1b
jl 0x100084df
mov eax, dword [ebp + 0x34]
inc eax
mov dword [ebp + 0x34], eax
cmp eax, 0x68b
jl 0x100084dd
inc esi
cmp esi, 0x50c5
jl 0x100084da
or esi, 0xffffffff
push 0xa2
lea eax, [ebp - 0x41]
xor dl, dl
push eax
xor eax, eax
inc eax
push eax
push 0x5de1
mov cl, al
call fcn.100062d8
add esp, 0x10
mov byte [ebp - 4], 0xf
cmp dword [ebp - 0x1c], 0x5d2f
jge 0x1000856a
mov edx, str.xfyi_ajqzioy_tdghwzkn_gymkaz_cqleb_idfrqxpzp
mov ecx, 0x100812f8
call fcn.1000395e
mov edi, dword [ebp + 0x18]
xor eax, eax
inc eax
push eax
push 0x37ce
push ebx
push 0x122f
push 0x6972
push 0x2464
mov edx, 0x3f69
mov dword [ebp - 4], 4
mov ecx, 0x5e7c
call fcn.10005cf5
lea eax, [ebp - 0xc0]
add esp, 0x18
cmp edi, eax
je 0x100085b3
push esi
push ebx
push eax
mov ecx, edi
call fcn.1000f001
push ebx
push 1
jmp 0x10007df7
mov dword [ebp - 0x2c], 0x30db
xor ebx, ebx
cmp dword [ebp - 0x2c], 0x3216
jle 0x1000865a
push 0x136
push ebx
push ebx
push 0xca1
push ebx
call dword [sym.imp.SHELL32.dll_ExtractIconExW]
mov esi, ebx
mov edi, ebx
mov ebx, 0x7381
mov eax, edi
mov ecx, 0x100812f8
cdq
push edx
push eax
call fcn.10001ee2
add edi, esi
dec ebx
jne 0x10008610
inc esi
cmp esi, 0x1435
jl 0x10008609
push 0x692
push 0xa4b
push 0x1cb9
push 0x1ce9
push 0x12ba
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_PatBlt]
mov dword [ebp - 4], 0x11
cmp dword [ebp - 0x2c], 0x2eb4
jge 0x10008679
mov edx, str.nvzh_crhgf_nnsmojmn_kksxgszk
mov ecx, 0x100812f8
call fcn.1000395e
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x18], 0x3316
cmp dword [ebp - 0x18], 0x3560
jle 0x100086d6
mov esi, ebx
mov edi, ebx
mov ecx, edi
mov eax, esi
sar eax, cl
lea ecx, [ebp - 0x168]
cdq
push edx
push eax
call fcn.10001a31
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x100086af
mov eax, dword [eax]
push eax
call fcn.1004b616
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x168]
call fcn.1000230b
inc edi
cmp edi, 0x4edf
jl 0x10008691
inc esi
cmp esi, 0x255c
jl 0x1000868f
cmp byte [ebp + 0x20], 0
je 0x10008720
mov byte [ebp - 0x42], bl
cmp byte [ebp - 0x42], 0
je 0x10008887
push ecx
mov edx, 0x1b27
xor cl, cl
call fcn.10004902
jmp 0x10008886
mov dword [ebp - 0x48], 0x1db7
cmp dword [ebp - 0x48], 0x6ea
jge 0x1000878e
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x50]
push eax
push str._d__d_n
call fcn.1004ba5e
xor eax, eax
add esp, 0xc
inc eax
mov esi, ebx
cmp dword [ebp - 0x50], 0
mov edi, ebx
mov dword [ebp - 0x28], eax
jle 0x10008781
lea eax, [ebp - 0x4c]
mov dword [ebp - 0x4c], ebx
push eax
push 0x1006cd4c
call fcn.1004ba5e
mov eax, dword [ebp - 0x28]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x4c]
add esi, ecx
cmp esi, dword [ebp - 0x80]
jle 0x1000877b
inc eax
mov esi, ecx
mov dword [ebp - 0x28], eax
inc edi
cmp edi, dword [ebp - 0x50]
jl 0x10008755
push eax
push 0x1006dd20
call fcn.1004b616
pop ecx
pop ecx
mov dword [ebp - 0x28], 0x2bbb
cmp dword [ebp - 0x28], 0x2f63
jle 0x10008805
mov esi, ebx
mov dword [ebp - 0x1c], ebx
mov edi, ebx
mov dword [ebp - 0x2c], ebx
mov eax, esi
cdq
idiv edi
mov edi, 0x6426
mov esi, edx
mov eax, esi
lea ecx, [ebp - 0x198]
cdq
push edx
push eax
call fcn.10001a31
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x100087ce
mov eax, dword [eax]
push eax
call fcn.1004b616
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x198]
call fcn.1000230b
inc esi
dec edi
jne 0x100087b4
mov edi, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x1c]
inc edi
mov dword [ebp - 0x2c], edi
cmp edi, 0xf11
jl 0x100087a8
inc esi
mov dword [ebp - 0x1c], esi
cmp esi, 0x1ba0
jl 0x100087a3
mov edx, dword [ebp + 0x2c]
xor ecx, ecx
mov esi, dword [ebp + 0x10]
mov eax, dword [edx]
inc dword [edx]
mov eax, dword [esi]
test eax, eax
mov eax, dword [ebp - 0x78]
setne cl
mov dword [eax], ecx
test ecx, ecx
jne 0x10008826
mov eax, dword [ebp + 0x30]
mov eax, dword [eax]
mov eax, dword [ebp + 0x28]
mov ecx, dword [ebp + 0x14]
cmp dword [eax], ebx
jne 0x10008832
mov eax, dword [ecx]
cmp dword [esi], 0xd92edcdd
jb 0x10008843
cmp dword [edx], ebx
je 0x10008843
xor eax, eax
inc eax
jmp 0x10008845
mov eax, ebx
mov edx, dword [ecx]
xor ecx, ecx
imul edx, eax
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax]
cmp eax, edx
mov edx, dword [ebp - 0x84]
mov eax, dword [ebp + 0x38]
setle cl
mov dword [edx], ecx
mov eax, dword [eax]
mov ecx, dword [esi]
mov eax, dword [edx]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp + 0xc]
setl dl
mov dword [eax], edx
cmp dword [ebp - 0x28], 0x2b38
jge 0x10008887
push str.snnatopg_npgcisl_nxdbff
call fcn.1004b616
pop ecx
cmp dword [ebp - 0x18], 0x3129
jge 0x1000889b
push str.sxyiqvji_cpul_nsdtwbic_rjdto_wdfvx_wyxjgixdq_sfxh_hcclyv_tvpa_nkcyhko
call fcn.1004b616
pop ecx
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret