Function at 0x1001b91c
Capabilities:
Get keyboard layout

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1008a45a
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x304
push esi
mov dword [ebp - 0x14], 0xfc07e17f
mov dword [ebp - 0xa4], 0xffffffff
push 2
lea ecx, [ebp - 0x220]
call fcn.10016d5e
and dword [ebp - 4], 0
mov dword [ebp - 0x198], 0
mov dword [ebp - 0x144], 0x34071e99
mov dword [ebp - 0x1e0], 0xcf162c80
mov dword [ebp - 0x28], 0
jmp 0x1001b98b
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 2
jge 0x1001b9a1
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x228], 0
jmp 0x1001b984
mov dword [ebp - 0x28], 0
jmp 0x1001b9b1
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 2
jge 0x1001b9cd
push dword [ebp - 0x28]
lea ecx, [ebp - 0x220]
call fcn.10016dfc
mov dword [eax], 4
jmp 0x1001b9aa
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x2d0], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x2fc], eax
push 4
pop eax
shl eax, 0
mov dword [ebp + eax - 0x228], 0x16
push 0xfffffffffffffffa
pop eax
cmp eax, 0x16
jle 0x1001ba04
mov dword [ebp - 0x100], 1
jmp 0x1001ba0b
and dword [ebp - 0x100], 0
mov eax, dword [ebp - 0x100]
add eax, 6
cmp eax, dword [ebp - 0x14]
je 0x1001ba25
mov dword [ebp - 0x170], 1
jmp 0x1001ba2c
and dword [ebp - 0x170], 0
cmp dword [ebp - 0x170], 0x90a
jl 0x1001ba41
mov dword [ebp - 0x74], 1
jmp 0x1001ba45
and dword [ebp - 0x74], 0
push 1
lea ecx, [ebp - 0x220]
call fcn.10016dfc
mov ecx, dword [ebp - 0x74]
mov dword [eax], ecx
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x74], eax
jg 0x1001ba6b
mov dword [ebp - 0x98], 1
jmp 0x1001ba72
and dword [ebp - 0x98], 0
cmp dword [ebp - 0x98], 0xfffffff7
jae 0x1001ba87
mov dword [ebp - 0x9c], 1
jmp 0x1001ba8e
and dword [ebp - 0x9c], 0
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x198], eax
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x228]
add eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x14]
jge 0x1001babb
mov dword [ebp - 0x104], 1
jmp 0x1001bac2
and dword [ebp - 0x104], 0
mov eax, dword [ebp - 0x104]
sub eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x14]
jge 0x1001badc
mov dword [ebp - 0x164], 1
jmp 0x1001bae3
and dword [ebp - 0x164], 0
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0xa4]
cmp eax, dword [ebp - 0x164]
jle 0x1001bb06
mov dword [ebp - 0xac], 1
jmp 0x1001bb0d
and dword [ebp - 0xac], 0
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0xac], eax
jl 0x1001bb24
mov dword [ebp - 0x10c], 1
jmp 0x1001bb2b
and dword [ebp - 0x10c], 0
cmp dword [ebp - 0x10c], 6
ja 0x1001bb40
mov dword [ebp - 0xb4], 1
jmp 0x1001bb47
and dword [ebp - 0xb4], 0
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 0xb4]
mov dword [ebp - 0x144], eax
cmp dword [ebp - 0x144], 0x3b03c3fa
je 0x1001bb6e
mov dword [ebp - 0x1d0], 1
jmp 0x1001bb75
and dword [ebp - 0x1d0], 0
push 1
lea ecx, [ebp - 0x220]
call fcn.10016dfc
cmp dword [eax], 2
jle 0x1001bb93
mov dword [ebp - 0xbc], 1
jmp 0x1001bb9a
and dword [ebp - 0xbc], 0
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0xbc], eax
jne 0x1001bbb4
cmp dword [ebp - 0x14], 0
jne 0x1001bbb4
and dword [ebp - 0x114], 0
jmp 0x1001bbbe
mov dword [ebp - 0x114], 1
cmp dword [ebp - 0x114], 0x1361131e
jge 0x1001bbd6
mov dword [ebp - 0xc4], 1
jmp 0x1001bbdd
and dword [ebp - 0xc4], 0
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0x1e0], eax
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x220]
call fcn.10016de0
mov edx, 0x5af12ddb
lea ecx, [ebp - 0xfc]
call fcn.1001b4e2
mov dword [ebp - 0x10], 0xf825
push 2
lea ecx, [ebp - 0x214]
call fcn.10016d5e
mov dword [ebp - 4], 1
mov dword [ebp - 0x18c], 0x61e33ecd
mov dword [ebp - 0x2c4], 6
lea eax, [ebp - 0x2cc]
push eax
lea eax, [ebp - 0x214]
push eax
push 0
call fcn.1001cece
add esp, 0xc
cmp dword [ebp - 0x10], 0
je 0x1001bc6a
mov eax, 0xac48
test eax, eax
je 0x1001bc6a
mov dword [ebp - 0x15c], 1
jmp 0x1001bc71
and dword [ebp - 0x15c], 0
mov eax, dword [ebp - 0x10]
imul eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x15c]
cmp dword [ebp - 0x10], eax
jg 0x1001bc91
xor eax, eax
inc eax
jne 0x1001bc91
and dword [ebp - 0xcc], 0
jmp 0x1001bc9b
mov dword [ebp - 0xcc], 1
mov eax, dword [ebp - 0x10]
add eax, dword [ebp - 0xcc]
je 0x1001bd7c
mov dword [ebp - 0x1e8], 1
push 2
lea ecx, [ebp - 0x250]
call fcn.10016d5e
mov byte [ebp - 4], 2
mov dword [ebp - 0x18], 0
jmp 0x1001bcd5
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 1
jge 0x1001bceb
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x11c], 0xffff
jmp 0x1001bcce
mov dword [ebp - 0x18], 0
jmp 0x1001bcfb
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 2
jge 0x1001bd14
push dword [ebp - 0x18]
lea ecx, [ebp - 0x250]
call fcn.10016dfc
and dword [eax], 0
jmp 0x1001bcf4
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x11c], 0
je 0x1001bd4d
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x11c], 6
jg 0x1001bd40
mov dword [ebp - 0xd4], 1
jmp 0x1001bd47
and dword [ebp - 0xd4], 0
mov eax, dword [ebp - 0x1e8]
mov esi, dword [ebp - 0x10]
sub esi, dword [ebp - 0x10]
sub esi, 0x5714ffd8
push 1
lea ecx, [ebp - 0x250]
call fcn.10016dfc
mov dword [eax], esi
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x250]
call fcn.10016de0
jmp 0x1001bdfe
mov dword [ebp - 0x19c], 0xfffffffc
mov dword [ebp - 0x10], 0
jmp 0x1001bd96
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 1
jg 0x1001bde7
mov dword [ebp - 0x1a8], 0xfffffffe
push dword [ebp - 0x10]
lea ecx, [ebp - 0x214]
call fcn.10016dfc
cmp dword [eax], 0
je 0x1001bdbb
jmp 0x1001bde7
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x214]
push eax
lea eax, [ebp - 0x1a8]
push eax
push 0
lea eax, [ebp - 0x18c]
push eax
lea eax, [ebp - 0x19c]
push eax
call fcn.1001b7ed
add esp, 0x18
jmp 0x1001bd8f
mov byte [ebp - 0x3d], 0
movzx eax, byte [ebp - 0x3d]
test eax, eax
je 0x1001bdfe
push 0x2508
call dword [sym.imp.USER32.dll_GetKeyboardLayout]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x214]
call fcn.10016de0
cmp dword [ebp - 0xfc], 0
je 0x1001cc12
push 4
lea ecx, [ebp - 0x1f8]
call fcn.10016d5e
mov dword [ebp - 4], 3
mov dword [ebp - 0x30], 3
mov dword [ebp - 0x2e4], 0x213ec752
push 0x6c39
lea eax, [ebp - 0x2a0]
push eax
push 0x7476
push 1
push 0x7b8c
lea eax, [ebp - 0x1f8]
push eax
push 0x611f
push 0x25a4
push 0x3d93
call fcn.1001b520
add esp, 0x24
mov dword [ebp - 0x30], 0
jmp 0x1001be85
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 3
jg 0x1001bea2
push dword [ebp - 0x30]
lea ecx, [ebp - 0x1f8]
call fcn.10016dfc
cmp dword [eax], 0
je 0x1001bea0
jmp 0x1001bea2
jmp 0x1001be7e
push 1
lea ecx, [ebp - 0x1f8]
call fcn.10016dfc
cmp dword [eax], 0xdb5cabfc
ja 0x1001bec3
mov dword [ebp - 0x14c], 1
jmp 0x1001beca
and dword [ebp - 0x14c], 0
push 2
lea ecx, [ebp - 0x1f8]
call fcn.10016dfc
cmp dword [eax], 0
je 0x1001beee
cmp dword [ebp - 0x30], 0
je 0x1001beee
mov dword [ebp - 0xdc], 1
jmp 0x1001bef5
and dword [ebp - 0xdc], 0
mov eax, dword [ebp - 0x14c]
cmp eax, dword [ebp - 0xdc]
jge 0x1001bf0f
mov dword [ebp - 0x124], 1
jmp 0x1001bf16
and dword [ebp - 0x124], 0
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x124]
jg 0x1001bf2d
mov dword [ebp - 0xe4], 1
jmp 0x1001bf34
and dword [ebp - 0xe4], 0
cmp dword [ebp - 0xe4], 0xfffffffb
jl 0x1001bf49
mov dword [ebp - 0x16c], 1
jmp 0x1001bf50
and dword [ebp - 0x16c], 0
mov eax, dword [ebp - 0x16c]
mov dword [ebp - 0x30], eax
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1f8]
call fcn.10016de0
push dword [ebp + 8]
lea ecx, [ebp - 0x280]
call fcn.10016b13
mov dword [ebp - 4], 4
lea eax, [ebp - 0x2a8]
push eax
lea ecx, [ebp - 0x280]
call fcn.100173bd
push dword [eax]
lea eax, [ebp - 0x2b0]
push eax
lea ecx, [ebp - 0x280]
call fcn.100173d1
push dword [eax]
lea eax, [ebp - 0x2b8]
push eax
lea ecx, [ebp - 0x280]
call fcn.100173bd
push dword [eax]
mov edx, 0x1001ac4b
lea ecx, [ebp - 0x2c0]
call fcn.10024c09
add esp, 0xc
mov dword [ebp - 0x1c], 4
mov dword [ebp - 0x12c], 0
mov dword [ebp - 0x1b4], 8
mov dword [ebp - 0x84], 0xf4e79753
push 4
lea ecx, [ebp - 0x25c]
call fcn.10016d5e
mov byte [ebp - 4], 5
mov dword [ebp - 0x2c8], 0x88c55612
mov dword [ebp - 0x54], 0
jmp 0x1001c01c
mov eax, dword [ebp - 0x54]
inc eax
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 3
jge 0x1001c032
mov eax, dword [ebp - 0x54]
mov dword [ebp + eax*4 - 0x188], 0xfffe
jmp 0x1001c015
push 0
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x25c]
push eax
call fcn.1001d3c5
add esp, 0xc
mov byte [ebp - 0x37], 0
movzx eax, byte [ebp - 0x37]
test eax, eax
je 0x1001c06c
push 0x332b
push 0x4fe8
push 0
push 0x6b8
call fcn.1001e1fd
add esp, 0x10
mov dword [ebp - 0x1c], 0
jmp 0x1001c07c
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jg 0x1001c183
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x188]
mov dword [ebp - 0x29c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x188]
mov dword [ebp - 0x2d8], eax
mov eax, dword [ebp - 0x1c]
cmp dword [ebp + eax*4 - 0x188], 0
jne 0x1001c0bf
mov dword [ebp - 0xec], 1
jmp 0x1001c0c6
and dword [ebp - 0xec], 0
mov eax, dword [ebp - 0x1b4]
cmp dword [ebp - 0xec], eax
jge 0x1001c0e0
mov dword [ebp - 0x1a4], 1
jmp 0x1001c0e7
and dword [ebp - 0x1a4], 0
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x188]
mov dword [ebp - 0x2e0], eax
mov dword [ebp - 0x12c], 0
mov eax, dword [ebp - 0x12c]
mov ecx, dword [ebp - 0x84]
add ecx, 0x7b051af7
imul eax, ecx
mov ecx, dword [ebp - 0x1c]
cmp eax, dword [ebp + ecx*4 - 0x188]
jge 0x1001c12e
mov dword [ebp - 0xf4], 1
jmp 0x1001c135
and dword [ebp - 0xf4], 0
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x84], eax
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x188]
cmp dword [ebp - 0x84], eax
jl 0x1001c162
mov dword [ebp - 0x154], 1
jmp 0x1001c169
and dword [ebp - 0x154], 0
push 2
lea ecx, [ebp - 0x25c]
call fcn.10016dfc
mov ecx, dword [ebp - 0x154]
mov dword [eax], ecx
jmp 0x1001c075
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x25c]
call fcn.10016de0
mov eax, dword [ebp - 0xfc]
mov eax, dword [eax + 0xc]
add eax, 0x14
mov dword [ebp - 0xa0], eax
and dword [ebp - 0x88], 0
mov dword [ebp - 0x48], 1
push 4
lea ecx, [ebp - 0x208]
call fcn.10016d5e
mov byte [ebp - 4], 6
mov dword [ebp - 0x20], 0
jmp 0x1001c1d3
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 4
jge 0x1001c1ec
push dword [ebp - 0x20]
lea ecx, [ebp - 0x208]
call fcn.10016dfc
and dword [eax], 0
jmp 0x1001c1cc
mov dword [ebp - 0x20], 0
jmp 0x1001c1fc
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 2
jge 0x1001c212
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x230], 1
jmp 0x1001c1f5
mov dword [ebp - 0x48], 0
jmp 0x1001c222
mov eax, dword [ebp - 0x48]
inc eax
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 0x12
jge 0x1001c3b9
mov dword [ebp - 0x3c], 0x5ba77230
mov dword [ebp - 0x94], 0x37ff
mov dword [ebp - 0x1c0], 1
mov dword [ebp - 0x3c], 0
jmp 0x1001c257
mov eax, dword [ebp - 0x3c]
inc eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 3
jg 0x1001c323
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x1b0], 2
mov dword [ebp - 0x50], 3
jmp 0x1001c282
mov eax, dword [ebp - 0x50]
dec eax
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 0
jl 0x1001c31e
mov dword [ebp - 0x4c], 0x66e58d02
mov dword [ebp - 0x4c], 0
jmp 0x1001c2a3
mov eax, dword [ebp - 0x4c]
inc eax
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 3
jg 0x1001c2ea
mov dword [ebp - 0x64], 0xe135e1f6
mov dword [ebp - 0x64], 3
jmp 0x1001c2c0
mov eax, dword [ebp - 0x64]
dec eax
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 0
jl 0x1001c2e8
mov byte [ebp - 0x3e], 0
movzx eax, byte [ebp - 0x3e]
test eax, eax
je 0x1001c2e6
push 0x121b
push 0x1692
push 0
call fcn.1001b704
add esp, 0xc
jmp 0x1001c2b9
jmp 0x1001c29c
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x1b0]
push eax
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x4c]
push eax
push 0
lea eax, [ebp - 0x94]
push eax
lea eax, [ebp - 0x208]
push eax
call fcn.1001d604
add esp, 0x20
jmp 0x1001c27b
jmp 0x1001c250
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x300], eax
push 2
lea ecx, [ebp - 0x208]
call fcn.10016dfc
cmp dword [eax], 0
je 0x1001c38b
push 4
pop eax
imul eax, eax, 0
lea eax, [ebp + eax - 0x230]
mov dword [ebp - 0x90], eax
push 1
lea ecx, [ebp - 0x208]
call fcn.10016dfc
mov ecx, dword [ebp - 0x90]
mov eax, dword [eax]
mov dword [ecx], eax
mov eax, dword [ebp - 0x90]
cmp dword [eax], 9
jle 0x1001c38b
mov eax, 0xf81a770a
test eax, eax
je 0x1001c38b
mov dword [ebp - 0x1ac], 1
jmp 0x1001c392
and dword [ebp - 0x1ac], 0
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x308], eax
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x230]
mov dword [ebp - 0x1c0], eax
jmp 0x1001c21b
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x208]
call fcn.10016de0
mov eax, dword [ebp - 0xa0]
mov eax, dword [eax]
mov dword [ebp - 0x5c], eax
jmp 0x1001c3dd
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x5c]
cmp eax, dword [ebp - 0xa0]
je 0x1001cc03
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x6c], 0x61fbc9fa
mov dword [ebp - 0x78], 0xfffffffa
mov dword [ebp - 0x2c], 0xfffffff9
jmp 0x1001c411
mov eax, dword [ebp - 0x2c]
dec eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0xffffffef
jl 0x1001c6b0
mov dword [ebp - 0xd0], 1
mov dword [ebp - 0x1c8], 1
mov dword [ebp - 0x244], 1
mov dword [ebp - 0x240], 1
mov dword [ebp - 0x23c], 1
mov dword [ebp - 0x238], 1
lea ecx, [ebp - 0x79]
call fcn.10009623
push eax
lea eax, [ebp - 0x234]
push eax
lea eax, [ebp - 0x244]
push eax
lea ecx, [ebp - 0x310]
call fcn.10016e0b
push dword [eax + 4]
push dword [eax]
lea ecx, [ebp - 0x1dc]
call fcn.10016dba
mov byte [ebp - 4], 7
mov dword [ebp - 0x70], 0
jmp 0x1001c49d
mov eax, dword [ebp - 0x70]
inc eax
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 4
jge 0x1001c4b3
mov eax, dword [ebp - 0x70]
mov dword [ebp + eax*4 - 0x2f8], 0xcc7bc501
jmp 0x1001c496
lea eax, [ebp - 0x6c]
push eax
push 0x7f3f
push 0x1708
lea eax, [ebp - 0xd0]
push eax
lea eax, [ebp - 0x1c8]
push eax
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x1dc]
push eax
push 0
call fcn.1001ddcd
add esp, 0x24
push 4
pop eax
imul eax, eax, 3
mov eax, dword [ebp + eax - 0x2f8]
mov dword [ebp - 0x2e8], eax
push 4
pop eax
shl eax, 0
mov ecx, dword [ebp - 0x78]
cmp dword [ebp + eax - 0x2f8], ecx
jne 0x1001c51b
xor eax, eax
inc eax
jne 0x1001c51b
and dword [ebp - 0x1b8], 0
jmp 0x1001c525
mov dword [ebp - 0x1b8], 1
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x2a4], eax
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x2f8], 0xaa7054f8
ja 0x1001c54d
mov dword [ebp - 0xa8], 1
jmp 0x1001c554
and dword [ebp - 0xa8], 0
cmp dword [ebp - 0xa8], 0xf9e84ebf
jbe 0x1001c56c
mov dword [ebp - 0xb0], 1
jmp 0x1001c573
and dword [ebp - 0xb0], 0
cmp dword [ebp - 0xb0], 0x3cd4
jne 0x1001c58b
mov dword [ebp - 0xb8], 1
jmp 0x1001c592
and dword [ebp - 0xb8], 0
imul eax, dword [ebp - 0xb8], 0x3261
test eax, eax
je 0x1001c5b5
mov eax, 0x691f3a4b
test eax, eax
je 0x1001c5b5
mov dword [ebp - 0xc0], 1
jmp 0x1001c5bc
and dword [ebp - 0xc0], 0
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0xc0]
cmp eax, 7
ja 0x1001c5d6
mov dword [ebp - 0xc8], 1
jmp 0x1001c5dd
and dword [ebp - 0xc8], 0
imul eax, dword [ebp - 0xc8], 0x3978
test eax, eax
je 0x1001c600
cmp dword [ebp - 0xd0], 0
je 0x1001c600
mov dword [ebp - 0xd8], 1
jmp 0x1001c607
and dword [ebp - 0xd8], 0
mov eax, dword [ebp - 0x6c]
imul eax, dword [ebp - 0xd8]
cmp eax, dword [ebp - 0x6c]
jle 0x1001c622
mov dword [ebp - 0x1bc], 1
jmp 0x1001c629
and dword [ebp - 0x1bc], 0
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x2d4], eax
mov eax, dword [ebp - 0x6c]
cmp dword [ebp - 0x2c], eax
jl 0x1001c646
mov dword [ebp - 0x1ec], 1
jmp 0x1001c64d
and dword [ebp - 0x1ec], 0
push 1
lea ecx, [ebp - 0x1dc]
call fcn.10016dfc
mov esi, eax
push 1
lea ecx, [ebp - 0x1dc]
call fcn.10016dfc
mov ecx, dword [esi]
cmp ecx, dword [eax]
jle 0x1001c67d
xor eax, eax
inc eax
jne 0x1001c67d
and dword [ebp - 0xe0], 0
jmp 0x1001c687
mov dword [ebp - 0xe0], 1
push 0
lea ecx, [ebp - 0x1dc]
call fcn.10016dfc
mov ecx, dword [ebp - 0xe0]
mov dword [eax], ecx
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x1dc]
call fcn.10016de0
jmp 0x1001c40a
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp - 0x88]
push eax
push 0
push 0x4555
call fcn.1001cf32
add esp, 0x10
mov dword [ebp - 0x2ac], 0x6482
push 0
call fcn.1001cfd6
pop ecx
mov byte [ebp - 0x35], 0
movzx eax, byte [ebp - 0x35]
test eax, eax
je 0x1001c6fc
push 0x362c
push 0x4900
push 0
call fcn.1001d002
add esp, 0xc
mov eax, dword [ebp - 0x88]
push dword [eax + 0x28]
lea ecx, [ebp - 0x298]
call fcn.1002483e
mov byte [ebp - 4], 8
lea eax, [ebp - 0x304]
push eax
lea ecx, [ebp - 0x298]
call fcn.100173bd
push dword [eax]
lea eax, [ebp - 0x2b4]
push eax
lea ecx, [ebp - 0x298]
call fcn.100173d1
push dword [eax]
lea eax, [ebp - 0x2dc]
push eax
lea ecx, [ebp - 0x298]
call fcn.100173bd
push dword [eax]
mov edx, 0x1001ac4b
lea ecx, [ebp - 0x2bc]
call fcn.10024c09
add esp, 0xc
mov dword [ebp - 0x44], 7
mov dword [ebp - 0x34], 0xfffffffd
mov dword [ebp - 0x58], 0xffffffff
push 1
lea ecx, [ebp - 0x17c]
call fcn.10016d5e
mov byte [ebp - 4], 9
mov dword [ebp - 0x120], 0xa8f1edd1
push 2
lea ecx, [ebp - 0x268]
call fcn.10016d5e
mov byte [ebp - 4], 0xa
lea eax, [ebp - 0x17c]
push eax
lea eax, [ebp - 0x1c4]
push eax
push 1
call fcn.1001b704
add esp, 0xc
push 0x2a8c
lea eax, [ebp - 0x268]
push eax
push 0x6443
push 1
lea eax, [ebp - 0x1c4]
push eax
call fcn.1001b76f
add esp, 0x14
mov dword [ebp - 0x44], 0x732aa61f
cmp dword [ebp - 0x34], 0xfffa
je 0x1001c7fa
mov dword [ebp - 0xe8], 1
jmp 0x1001c801
and dword [ebp - 0xe8], 0
cmp dword [ebp - 0xe8], 0xbc99
jle 0x1001c819
mov dword [ebp - 0xf0], 1
jmp 0x1001c820
and dword [ebp - 0xf0], 0
mov eax, dword [ebp - 0xf0]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x58]
cmp dword [ebp - 0x34], eax
jne 0x1001c83d
mov dword [ebp - 0xf8], 1
jmp 0x1001c844
and dword [ebp - 0xf8], 0
mov eax, dword [ebp - 0x58]
imul eax, dword [ebp - 0xf8]
imul eax, dword [ebp - 0x58]
cmp eax, 0xdb856137
jne 0x1001c877
push 0
lea ecx, [ebp - 0x17c]
call fcn.10016dfc
cmp dword [eax], 0
je 0x1001c877
mov dword [ebp - 0x1e4], 1
jmp 0x1001c87e
and dword [ebp - 0x1e4], 0
push 0
lea ecx, [ebp - 0x17c]
call fcn.10016dfc
cmp dword [eax], 5
je 0x1001c89c
mov dword [ebp - 0x8c], 1
jmp 0x1001c8a3
and dword [ebp - 0x8c], 0
push 0
lea ecx, [ebp - 0x17c]
call fcn.10016dfc
mov ecx, dword [ebp - 0x8c]
cmp ecx, dword [eax]
je 0x1001c8c6
mov dword [ebp - 0x108], 1
jmp 0x1001c8cd
and dword [ebp - 0x108], 0
mov eax, dword [ebp - 0x108]
mov dword [ebp - 0x58], eax
mov esi, dword [ebp - 0x58]
push 0
lea ecx, [ebp - 0x17c]
call fcn.10016dfc
mov eax, 0xbb00
cmp eax, 0xffffffff
jne 0x1001c8fc
mov dword [ebp - 0x110], 1
jmp 0x1001c903
and dword [ebp - 0x110], 0
cmp dword [ebp - 0x110], 0xfff7
jae 0x1001c91e
cmp dword [ebp - 0x44], 0
jne 0x1001c91e
and dword [ebp - 0x118], 0
jmp 0x1001c928
mov dword [ebp - 0x118], 1
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x120], eax
mov esi, dword [ebp - 0x120]
push 0
lea ecx, [ebp - 0x268]
call fcn.10016dfc
mov dword [eax], esi
mov dword [ebp - 0x34], 0
jmp 0x1001c959
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 1
jg 0x1001c9a8
mov dword [ebp - 0x44], 0
jmp 0x1001c96f
mov eax, dword [ebp - 0x44]
inc eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 1
jg 0x1001c9a6
mov byte [ebp - 0x36], 0
movzx eax, byte [ebp - 0x36]
test eax, eax
je 0x1001c9a4
push 0x6209
push 0x206e
push 0x4012
push 1
push 0x5752
push 0x6523
call fcn.1001b7ed
add esp, 0x18
jmp 0x1001c968
jmp 0x1001c952
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x268]
call fcn.10016de0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x17c]
call fcn.10016de0
lea edx, [ebp - 0x298]
lea ecx, [ebp - 0x280]
call fcn.10024c72
movzx eax, al
test eax, eax
je 0x1001cbef
push 1
lea ecx, [ebp - 0x13c]
call fcn.10016d5e
mov byte [ebp - 4], 0xb
mov dword [ebp - 0x160], 0xfffffffb
mov dword [ebp - 0x1fc], 1
mov dword [ebp - 0x24], 0
jmp 0x1001ca17
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 1
jge 0x1001ca30
push dword [ebp - 0x24]
lea ecx, [ebp - 0x13c]
call fcn.10016dfc
and dword [eax], 0
jmp 0x1001ca10
mov dword [ebp - 0x24], 0
jmp 0x1001ca40
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 1
jge 0x1001ca53
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x80], 0xdedb
jmp 0x1001ca39
push 4
pop eax
imul eax, eax, 0
mov esi, dword [ebp + eax - 0x80]
push 0
lea ecx, [ebp - 0x13c]
call fcn.10016dfc
cmp esi, dword [eax]
jle 0x1001ca7a
mov dword [ebp - 0x128], 1
jmp 0x1001ca81
and dword [ebp - 0x128], 0
push 0
lea ecx, [ebp - 0x13c]
call fcn.10016dfc
mov eax, dword [eax]
cmp eax, dword [ebp - 0x128]
jl 0x1001caa4
mov dword [ebp - 0x140], 1
jmp 0x1001caab
and dword [ebp - 0x140], 0
push 0
lea ecx, [ebp - 0x13c]
call fcn.10016dfc
cmp dword [eax], 0x6e229edc
jl 0x1001cacc
mov dword [ebp - 0x1cc], 1
jmp 0x1001cad3
and dword [ebp - 0x1cc], 0
push 0
lea ecx, [ebp - 0x13c]
call fcn.10016dfc
push 0
lea ecx, [ebp - 0x13c]
call fcn.10016dfc
cmp dword [eax], 0
je 0x1001cb0b
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x80], 0
je 0x1001cb0b
mov dword [ebp - 0x130], 1
jmp 0x1001cb12
and dword [ebp - 0x130], 0
cmp dword [ebp - 0x130], 0xfecafe8
je 0x1001cb2a
mov dword [ebp - 0x148], 1
jmp 0x1001cb31
and dword [ebp - 0x148], 0
mov eax, dword [ebp - 0x140]
cmp eax, dword [ebp - 0x148]
je 0x1001cb4b
mov dword [ebp - 0x150], 1
jmp 0x1001cb52
and dword [ebp - 0x150], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x80]
cmp dword [ebp - 0x150], eax
je 0x1001cb7f
push 0
lea ecx, [ebp - 0x13c]
call fcn.10016dfc
cmp dword [eax], 0
jne 0x1001cb7f
and dword [ebp - 0x158], 0
jmp 0x1001cb89
mov dword [ebp - 0x158], 1
mov eax, dword [ebp - 0x158]
mov dword [ebp - 0x160], eax
mov eax, dword [ebp - 0x160]
mov dword [ebp - 0x1fc], eax
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x13c]
call fcn.10016de0
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x88]
mov eax, dword [ecx + eax + 0x10]
mov dword [ebp - 0x194], eax
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x298]
call fcn.10016b98
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x280]
call fcn.10016b98
mov eax, dword [ebp - 0x194]
jmp 0x1001ccb8
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x298]
call fcn.10016b98
jmp 0x1001c3d5
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x280]
call fcn.10016b98
mov dword [ebp - 0x190], 0x9d05
mov dword [ebp - 0x1a0], 9
mov dword [ebp - 0x68], 0
jmp 0x1001cc36
mov eax, dword [ebp - 0x68]
inc eax
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x68], 1
jge 0x1001cc49
mov eax, dword [ebp - 0x68]
mov dword [ebp + eax*4 - 0x60], 0xfffffffb
jmp 0x1001cc2f
push 4
pop eax
imul eax, eax, 0
mov dword [ebp + eax - 0x60], 0
jmp 0x1001cc6e
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x60]
dec eax
push 4
pop ecx
imul ecx, ecx, 0
mov dword [ebp + ecx - 0x60], eax
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x60], 0xfffffff9
jle 0x1001ccb6
mov dword [ebp - 0x168], 0
mov eax, dword [ebp - 0x168]
inc eax
mov dword [ebp - 0x168], eax
push 0
lea eax, [ebp - 0x190]
push eax
lea eax, [ebp - 0x1a0]
push eax
push 0x542a
push 0x25c1
call fcn.1001e17c
add esp, 0x14
jmp 0x1001cc59
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret