Function at 0x100229d5
Capabilities:
Contain obfuscated stackstrings
Encrypt data using speck

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10061f68
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
sub esp, 0x358
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
and dword [ebp - 0x1a8], 0
mov dword [ebp - 0x1d8], 8
mov dword [ebp - 0x264], 0
mov dword [ebp - 0x24c], 0xcb8f6c21
mov dword [ebp - 0x1e4], 0xf985589b
mov dword [ebp - 0x1d0], 0xc587c7ab
call fcn.100224d8
lea eax, [ebp - 0x24c]
push eax
lea eax, [ebp - 0x264]
push eax
lea eax, [ebp - 0x1d8]
push eax
lea eax, [ebp - 0x1e4]
push eax
lea eax, [ebp - 0x1d0]
push eax
call fcn.100224fe
add esp, 0x14
mov dword [ebp - 0x18], 0xaf8b5131
mov dword [ebp - 0x1b0], 0xffffffff
mov dword [ebp - 0x13c], 0xfff7
mov dword [ebp - 0x2d0], 1
mov dword [ebp - 0x2cc], 1
mov dword [ebp - 0x2c8], 1
mov dword [ebp - 0x2c4], 1
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x18]
jg 0x10022aba
mov dword [ebp - 0x194], 1
jmp 0x10022ac1
and dword [ebp - 0x194], 0
mov eax, dword [ebp - 0x194]
sub eax, dword [ebp - 0x18]
add eax, 0x58633f67
cmp eax, dword [ebp - 0x18]
jne 0x10022ae0
mov dword [ebp - 0x1b4], 1
jmp 0x10022ae7
and dword [ebp - 0x1b4], 0
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x1b4]
mov dword [ebp - 0x1b0], eax
jne 0x10022b0d
cmp dword [ebp - 0x18], 0
jne 0x10022b0d
cmp dword [ebp - 0x18], 0
jne 0x10022b0d
and dword [ebp - 0x1ec], 0
jmp 0x10022b17
mov dword [ebp - 0x1ec], 1
mov eax, dword [ebp - 0x13c]
add eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x18]
je 0x10022b31
mov dword [ebp - 0x1f4], 1
jmp 0x10022b38
and dword [ebp - 0x1f4], 0
mov eax, dword [ebp - 0x13c]
cmp eax, dword [ebp - 0x18]
jge 0x10022b4f
mov dword [ebp - 0x17c], 1
jmp 0x10022b56
and dword [ebp - 0x17c], 0
push 4
pop eax
shl eax, 1
mov ecx, dword [ebp - 0x17c]
mov dword [ebp + eax - 0x2d0], ecx
call fcn.100225d9
push 2
lea ecx, [ebp - 0x2fc]
call fcn.10012962
and dword [ebp - 4], 0
mov dword [ebp - 0x240], 0xfffffffb
mov dword [ebp - 0x58], 0
jmp 0x10022b98
mov eax, dword [ebp - 0x58]
inc eax
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 2
jge 0x10022bb4
push dword [ebp - 0x58]
lea ecx, [ebp - 0x2fc]
call fcn.10012a00
mov dword [eax], 0x9f9b
jmp 0x10022b91
lea eax, [ebp - 0x240]
push eax
call fcn.10022609
pop ecx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2fc]
call fcn.100129e4
mov byte [ebp - 0x11c], 0x14
mov byte [ebp - 0x11b], 0xc2
mov byte [ebp - 0x11a], 5
mov byte [ebp - 0x119], 0x13
mov byte [ebp - 0x118], 0x17
mov byte [ebp - 0x117], 0x1e
mov byte [ebp - 0x116], 0xa
mov byte [ebp - 0x115], 0x13
mov byte [ebp - 0x114], 9
mov byte [ebp - 0x113], 1
mov byte [ebp - 0x112], 1
mov byte [ebp - 0x111], 8
mov byte [ebp - 0x110], 0xc
mov byte [ebp - 0x10f], 0xf
mov byte [ebp - 0x10e], 0x16
mov byte [ebp - 0x10d], 0x1a
mov byte [ebp - 0x10c], 0x10
mov byte [ebp - 0x10b], 6
mov byte [ebp - 0x10a], 0x11
mov byte [ebp - 0x109], 3
mov byte [ebp - 0x108], 0x13
mov byte [ebp - 0x107], 6
mov byte [ebp - 0x106], 2
mov byte [ebp - 0x105], 0x17
mov byte [ebp - 0x104], 0x19
mov byte [ebp - 0x103], 0x19
mov byte [ebp - 0x102], 8
mov byte [ebp - 0x101], 0x13
mov byte [ebp - 0x100], 0xe
mov byte [ebp - 0xff], 6
mov byte [ebp - 0xfe], 0x15
mov byte [ebp - 0xfd], 0x19
mov byte [ebp - 0xfc], 6
mov byte [ebp - 0xfb], 0x11
mov byte [ebp - 0xfa], 0x18
mov byte [ebp - 0xf9], 0x1e
mov byte [ebp - 0xf8], 0x12
mov byte [ebp - 0xf7], 0xa
mov byte [ebp - 0xf6], 0
mov byte [ebp - 0xf5], 0x12
mov byte [ebp - 0xf4], 4
mov byte [ebp - 0xf3], 4
mov byte [ebp - 0xf2], 0x17
mov byte [ebp - 0xf1], 0x2e
mov byte [ebp - 0xf0], 0x5f
mov byte [ebp - 0xef], 0xfa
mov byte [ebp - 0xee], 6
mov byte [ebp - 0xed], 0xbf
mov byte [ebp - 0xec], 0xdb
mov byte [ebp - 0xeb], 0x69
mov byte [ebp - 0xea], 0x29
mov byte [ebp - 0xe9], 0x48
mov byte [ebp - 0xe8], 0xba
mov byte [ebp - 0xe7], 0x6c
mov byte [ebp - 0xe6], 0x95
mov byte [ebp - 0xe5], 0x8b
mov byte [ebp - 0xe4], 0xd
mov byte [ebp - 0xe3], 7
mov byte [ebp - 0xe2], 0xf7
mov byte [ebp - 0xe1], 0xb5
mov byte [ebp - 0xe0], 0xef
mov byte [ebp - 0xdf], 0xa3
mov byte [ebp - 0xde], 0x6f
mov byte [ebp - 0xdd], 0xfe
mov byte [ebp - 0xdc], 0xc7
mov byte [ebp - 0xdb], 0x4f
mov byte [ebp - 0xda], 3
mov byte [ebp - 0xd9], 1
mov byte [ebp - 0xd8], 0xf
mov byte [ebp - 0xd7], 0x14
mov byte [ebp - 0xd6], 0xb
mov byte [ebp - 0xd5], 0x1c
mov byte [ebp - 0xd4], 0xd
mov byte [ebp - 0xd3], 2
mov byte [ebp - 0xd2], 7
mov byte [ebp - 0xd1], 6
mov dword [ebp - 0x144], 0x3d98
mov dword [ebp - 0x1e0], 0x10008ba0
cmp dword [ebp - 0x144], 0x412d
jle 0x10022e6e
and dword [ebp - 0xc4], 0
jmp 0x10022e1a
mov eax, dword [ebp - 0xc4]
inc eax
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0xc4], 0x5e20
jge 0x10022e6e
and dword [ebp - 0x60], 0
jmp 0x10022e33
mov eax, dword [ebp - 0x60]
inc eax
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 0x20a6
jge 0x10022e6c
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0x60]
shl eax, cl
cdq
mov dword [ebp - 0x200], eax
mov dword [ebp - 0x1fc], edx
push dword [ebp - 0x1fc]
push dword [ebp - 0x200]
mov ecx, 0x10609d98
call fcn.1001273a
jmp 0x10022e2c
jmp 0x10022e0d
mov dword [ebp - 4], 1
cmp dword [ebp - 0x144], 0x3c12
jge 0x10022e91
mov edx, dword [ebp - 0x1e0]
mov ecx, 0x10609d98
call fcn.1001505e
jmp 0x10022ead
or dword [ebp - 4], 0xffffffff
jmp 0x10022eb7
mov dword [ebp - 0x68], 1
mov dword [ebp - 0xa4], 0
jmp 0x10022ed7
mov eax, dword [ebp - 0xa4]
inc eax
mov dword [ebp - 0xa4], eax
cmp dword [ebp - 0xa4], 1
jge 0x10022ef3
mov eax, dword [ebp - 0xa4]
mov dword [ebp + eax*4 - 0x1e8], 0xc93
jmp 0x10022eca
mov dword [ebp - 0x68], 0
jmp 0x10022f03
mov eax, dword [ebp - 0x68]
dec eax
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x68], 0
jl 0x10023296
mov dword [ebp - 0x19c], 0x56ba
mov dword [ebp - 0x260], 0x10008be4
cmp dword [ebp - 0x19c], 0x58aa
jle 0x10022fa1
and dword [ebp - 0x80], 0
jmp 0x10022f3a
mov eax, dword [ebp - 0x80]
inc eax
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x80], 0x7260
jge 0x10022fa1
and dword [ebp - 0x78], 0
jmp 0x10022f50
mov eax, dword [ebp - 0x78]
inc eax
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 0x5a88
jge 0x10022f9f
and dword [ebp - 0x70], 0
jmp 0x10022f66
mov eax, dword [ebp - 0x70]
inc eax
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 0x2c08
jge 0x10022f9d
mov eax, dword [ebp - 0x78]
add eax, dword [ebp - 0x70]
and eax, dword [ebp - 0x80]
cdq
mov dword [ebp - 0x20c], eax
mov dword [ebp - 0x208], edx
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
mov ecx, 0x10609d98
call fcn.1001273a
jmp 0x10022f5f
jmp 0x10022f49
jmp 0x10022f33
mov dword [ebp - 0x2b4], 0xefc07e17
mov dword [ebp - 0x2b0], 0xefc07e17
mov dword [ebp - 0x2ac], 0xefc07e17
mov dword [ebp - 0x2a8], 0xefc07e17
lea ecx, [ebp - 0x129]
call fcn.10012a0f
push eax
lea eax, [ebp - 0x2a4]
push eax
lea eax, [ebp - 0x2b4]
push eax
lea ecx, [ebp - 0x338]
call fcn.10012a12
push dword [eax + 4]
push dword [eax]
lea ecx, [ebp - 0x27c]
call fcn.100129be
mov dword [ebp - 4], 3
mov byte [ebp - 4], 4
cmp dword [ebp - 0x19c], 0x55ba
jge 0x10023025
mov edx, dword [ebp - 0x260]
mov ecx, 0x10609d98
call fcn.1001505e
jmp 0x10023041
mov dword [ebp - 4], 3
jmp 0x10023051
push 0
lea ecx, [ebp - 0x27c]
call fcn.10012a00
and dword [eax], 0
jmp 0x10023087
push 0
lea ecx, [ebp - 0x27c]
call fcn.10012a00
mov dword [ebp - 0x14c], eax
mov eax, dword [ebp - 0x14c]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0x14c]
mov dword [ecx], eax
push 0
lea ecx, [ebp - 0x27c]
call fcn.10012a00
cmp dword [eax], 0
jg 0x10023271
mov dword [ebp - 0x50], 0xda622a14
mov dword [ebp - 0x50], 0
jmp 0x100230b4
mov eax, dword [ebp - 0x50]
dec eax
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 0
jl 0x1002325e
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x88], 0
jmp 0x100230e1
mov eax, dword [ebp - 0x88]
dec eax
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
jl 0x10023259
mov dword [ebp - 0xbc], 0x2bc40ed3
mov byte [ebp - 0x35], 0
lea eax, [ebp - 0x35]
push eax
call fcn.10022646
pop ecx
mov dword [ebp - 0xbc], 0
jmp 0x1002311f
mov eax, dword [ebp - 0xbc]
inc eax
mov dword [ebp - 0xbc], eax
cmp dword [ebp - 0xbc], 0
jg 0x10023254
push 2
lea ecx, [ebp - 0x1c0]
call fcn.10012962
mov byte [ebp - 4], 6
mov dword [ebp - 0x1c], 0
jmp 0x1002314d
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jge 0x10023169
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x1c0]
call fcn.10012a00
mov dword [eax], 0xd2c87a75
jmp 0x10023146
mov dword [ebp - 0x1c], 0
jmp 0x10023179
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 3
jge 0x1002318f
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x288], 0xcd49fcfb
jmp 0x10023172
push 1
lea ecx, [ebp - 0x1c0]
call fcn.10012a00
and dword [eax], 0
jmp 0x100231c5
push 1
lea ecx, [ebp - 0x1c0]
call fcn.10012a00
mov dword [ebp - 0x184], eax
mov eax, dword [ebp - 0x184]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0x184]
mov dword [ecx], eax
push 1
lea ecx, [ebp - 0x1c0]
call fcn.10012a00
cmp dword [eax], 1
jge 0x100231f3
push 1
lea ecx, [ebp - 0x1c0]
call fcn.10012a00
mov eax, dword [eax]
mov dword [ebp + eax*4 - 0x1e8], 1
jmp 0x100231a1
push 4
pop eax
shl eax, 1
mov dword [ebp + eax - 0x288], 1
jmp 0x1002321e
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0x288]
dec eax
push 4
pop ecx
shl ecx, 1
mov dword [ebp + ecx - 0x288], eax
push 4
pop eax
shl eax, 1
cmp dword [ebp + eax - 0x288], 0
jl 0x10023240
mov byte [ebp - 0x31], 0
movzx eax, byte [ebp - 0x31]
test eax, eax
je 0x1002323e
call fcn.10022669
jmp 0x10023205
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1c0]
call fcn.100129e4
jmp 0x10023112
jmp 0x100230d4
jmp 0x100230ad
mov byte [ebp - 0x34], 0
lea eax, [ebp - 0x34]
push eax
call fcn.1002268a
pop ecx
jmp 0x10023063
mov byte [ebp - 0x21], 0
movzx eax, byte [ebp - 0x21]
test eax, eax
je 0x10023282
call fcn.100226aa
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x27c]
call fcn.100129e4
jmp 0x10022efc
xor eax, eax
inc eax
shl eax, 0
movzx eax, byte [ebp + eax - 0x11c]
and eax, 0xb7
xor ecx, ecx
inc ecx
shl ecx, 0
movzx ecx, byte [ebp + ecx - 0x11c]
or ecx, 0xb7
sub ecx, eax
xor eax, eax
inc eax
imul eax, eax, 0
movzx eax, byte [ebp + eax - 0x11c]
mov byte [ebp + eax - 0x2ec], cl
mov dword [ebp - 0x14], 2
and dword [ebp - 0x94], 0
jmp 0x100232ec
mov eax, dword [ebp - 0x14]
inc eax
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0x4c
jae 0x100234f9
xor eax, eax
inc eax
imul eax, eax, 0
movzx eax, byte [ebp + eax - 0x11c]
lea eax, [eax + eax + 2]
cmp dword [ebp - 0x14], eax
jne 0x10023487
mov dword [ebp - 0x154], 0x7730
mov dword [ebp - 0x1c4], 0x10008c60
cmp dword [ebp - 0x154], 0x79b0
jle 0x10023412
and dword [ebp - 0x84], 0
jmp 0x1002334b
mov eax, dword [ebp - 0x84]
inc eax
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x84], 0x7c27
jge 0x10023412
and dword [ebp - 0xac], 0
jmp 0x10023371
mov eax, dword [ebp - 0xac]
inc eax
mov dword [ebp - 0xac], eax
cmp dword [ebp - 0xac], 0x4a18
jge 0x1002340d
and dword [ebp - 0x8c], 0
jmp 0x10023397
mov eax, dword [ebp - 0x8c]
inc eax
mov dword [ebp - 0x8c], eax
cmp dword [ebp - 0x8c], 0x1fa6
jge 0x10023408
and dword [ebp - 0xcc], 0
jmp 0x100233b9
mov eax, dword [ebp - 0xcc]
inc eax
mov dword [ebp - 0xcc], eax
cmp dword [ebp - 0xcc], 0x39c7
jge 0x10023406
mov eax, dword [ebp - 0x84]
add eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 0x8c]
shl eax, cl
mov ecx, dword [ebp - 0xcc]
sar eax, cl
cdq
mov dword [ebp - 0x218], eax
mov dword [ebp - 0x214], edx
push dword [ebp - 0x214]
push dword [ebp - 0x218]
mov ecx, 0x10609d98
call fcn.1001273a
jmp 0x100233ac
jmp 0x1002338a
jmp 0x10023364
jmp 0x1002333e
mov eax, dword [ebp - 0x14]
movzx eax, byte [ebp + eax - 0x11c]
inc eax
mov dword [ebp - 0x94], eax
mov dword [ebp - 4], 7
cmp dword [ebp - 0x154], 0x75af
jge 0x10023447
mov edx, dword [ebp - 0x1c4]
mov ecx, 0x10609d98
call fcn.1001505e
jmp 0x10023463
or dword [ebp - 4], 0xffffffff
jmp 0x1002346d
mov eax, dword [ebp - 0x14]
movzx eax, byte [ebp + eax - 0x11c]
mov ecx, dword [ebp - 0x14]
lea eax, [ecx + eax - 1]
mov dword [ebp - 0x14], eax
jmp 0x100232e4
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x94]
movzx eax, byte [ebp + eax - 0x11e]
movsx eax, byte [ebp + eax - 0x2ec]
mov ecx, dword [ebp - 0x14]
movzx ecx, byte [ebp + ecx - 0x11b]
and ecx, eax
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x94]
movzx eax, byte [ebp + eax - 0x11e]
movsx eax, byte [ebp + eax - 0x2ec]
mov edx, dword [ebp - 0x14]
movzx edx, byte [ebp + edx - 0x11b]
or edx, eax
sub edx, ecx
mov eax, dword [ebp - 0x14]
movzx eax, byte [ebp + eax - 0x11c]
mov byte [ebp + eax - 0x2ec], dl
lea eax, [ebp - 0x94]
push eax
call fcn.1000fa20
pop ecx
jmp 0x100232e4
xor eax, eax
inc eax
imul eax, eax, 0x1a
mov byte [ebp + eax - 0x2ec], 0
mov dword [ebp - 0x16c], 0xf402
mov dword [ebp - 0x128], 0xcc590f02
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x1f0], 0xc12a7b09
mov dword [ebp - 0x164], 9
mov dword [ebp - 0x268], 9
mov dword [ebp - 0xb4], 0
jmp 0x10023559
mov eax, dword [ebp - 0xb4]
inc eax
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0xb4], 1
jge 0x10023575
mov eax, dword [ebp - 0xb4]
mov dword [ebp + eax*4 - 0x9c], 0xfffd
jmp 0x1002354c
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x9c]
cmp eax, dword [ebp - 0x28]
jg 0x10023593
mov dword [ebp - 0x1ac], 1
jmp 0x1002359a
and dword [ebp - 0x1ac], 0
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x1ac], eax
jge 0x100235b1
mov dword [ebp - 0x15c], 1
jmp 0x100235b8
and dword [ebp - 0x15c], 0
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x1f0]
add ecx, dword [ebp - 0x15c]
cmp ecx, dword [ebp + eax - 0x9c]
jge 0x100235df
mov dword [ebp - 0x18c], 1
jmp 0x100235e6
and dword [ebp - 0x18c], 0
mov eax, dword [ebp - 0x16c]
mov dword [ebp - 0x128], eax
imul eax, dword [ebp - 0x18c], 0
dec eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x128]
sub eax, dword [ebp - 0x28]
mov dword [ebp - 0x164], eax
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x164]
cmp ecx, dword [ebp + eax - 0x9c]
jg 0x1002362d
mov dword [ebp - 0x1a4], 1
jmp 0x10023634
and dword [ebp - 0x1a4], 0
mov eax, 0x7a3a11c1
sub eax, dword [ebp - 0x1a4]
mov ecx, dword [ebp - 0x16c]
add ecx, eax
cmp ecx, 0x64087a91
jge 0x10023664
cmp dword [ebp - 0x268], 0
je 0x10023664
mov dword [ebp - 0x1f8], 1
jmp 0x1002366b
and dword [ebp - 0x1f8], 0
mov eax, 0x18ee85ec
test eax, eax
je 0x100237c1
mov dword [ebp - 0x48], 0xffffffff
mov dword [ebp - 0x130], 1
mov dword [ebp - 0x270], 0
mov dword [ebp - 0x258], 1
mov dword [ebp - 0x210], 0xffffffff
cmp dword [ebp - 0x48], 0
jne 0x100237a5
mov dword [ebp - 0x28], 0xf36fc75d
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x130]
jge 0x100236d8
mov dword [ebp - 0x174], 1
jmp 0x100236df
and dword [ebp - 0x174], 0
mov eax, dword [ebp - 0x48]
cmp dword [ebp - 0x174], eax
jge 0x100236f6
mov dword [ebp - 0x138], 1
jmp 0x100236fd
and dword [ebp - 0x138], 0
cmp dword [ebp - 0x48], 0
jne 0x10023715
mov eax, 0xad15
test eax, eax
jne 0x10023715
and dword [ebp - 0x134], 0
jmp 0x1002371f
mov dword [ebp - 0x134], 1
cmp dword [ebp - 0x134], 0xfffffff6
jge 0x10023734
mov dword [ebp - 0x140], 1
jmp 0x1002373b
and dword [ebp - 0x140], 0
mov eax, dword [ebp - 0x138]
cmp eax, dword [ebp - 0x140]
jne 0x10023755
mov dword [ebp - 0x148], 1
jmp 0x1002375c
and dword [ebp - 0x148], 0
mov eax, dword [ebp - 0x148]
mov dword [ebp - 0x270], eax
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x128]
dec ecx
cmp ecx, dword [ebp + eax - 0x9c]
jl 0x1002378a
mov dword [ebp - 0x204], 1
jmp 0x10023791
and dword [ebp - 0x204], 0
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x258]
jne 0x100237a5
and dword [ebp - 0x150], 0
jmp 0x100237af
mov dword [ebp - 0x150], 1
mov eax, dword [ebp - 0x48]
imul eax, dword [ebp - 0x150]
mov dword [ebp - 0x210], eax
jmp 0x100237c6
call fcn.100226bc
lea eax, [ebp - 0x2ec]
push eax
lea ecx, [ebp - 0x330]
call fcn.100128e3
mov dword [ebp - 4], 9
and dword [ebp - 0x54], 0
jmp 0x100237ec
mov eax, dword [ebp - 0x54]
inc eax
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 0x1b
jae 0x100237ff
mov eax, dword [ebp - 0x54]
mov byte [ebp + eax - 0x2ec], 0
jmp 0x100237e5
push 0x100075d9
lea ecx, [ebp - 0x318]
call fcn.100128e3
mov byte [ebp - 4], 0xa
mov dword [ebp - 0x178], 0x75f7
mov dword [ebp - 0x1dc], 0x10008ccc
cmp dword [ebp - 0x178], 0x76cd
jle 0x100238da
and dword [ebp - 0x6c], 0
jmp 0x10023844
mov eax, dword [ebp - 0x6c]
inc eax
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0x72e1
jge 0x100238da
and dword [ebp - 0x5c], 0
jmp 0x1002385e
mov eax, dword [ebp - 0x5c]
inc eax
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0x6604
jge 0x100238d5
and dword [ebp - 0x64], 0
jmp 0x10023874
mov eax, dword [ebp - 0x64]
inc eax
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 0x486
jge 0x100238d3
mov ecx, dword [ebp - 0x5c]
sub ecx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x6c]
sar eax, cl
cdq
mov dword [ebp - 0x224], eax
mov dword [ebp - 0x220], edx
push dword [ebp - 0x220]
push dword [ebp - 0x224]
lea ecx, [ebp - 0x350]
call fcn.1000d0ee
pop ecx
pop ecx
mov dword [ebp - 0x25c], eax
mov ecx, dword [ebp - 0x25c]
call fcn.1001271a
push eax
call fcn.1004c14f
pop ecx
lea ecx, [ebp - 0x350]
call fcn.10012710
jmp 0x1002386d
jmp 0x10023857
jmp 0x1002383d
mov dword [ebp - 0x44], 0xf2c29a3d
mov dword [ebp - 0x2a0], 5
mov dword [ebp - 0x29c], 5
mov dword [ebp - 0x298], 5
mov dword [ebp - 0x294], 5
mov dword [ebp - 0x74], 0
jmp 0x10023919
mov eax, dword [ebp - 0x74]
inc eax
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 2
jge 0x1002392f
mov eax, dword [ebp - 0x74]
mov dword [ebp + eax*4 - 0x290], 0x6af1124f
jmp 0x10023912
mov dword [ebp - 0x44], 1
jmp 0x1002393f
mov eax, dword [ebp - 0x44]
dec eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
jl 0x10023e1e
mov dword [ebp - 0xd0], 0xfddd3f46
mov dword [ebp - 0x160], 0x51a4
mov dword [ebp - 0x228], 0x10008ce8
cmp dword [ebp - 0x160], 0x54bb
jle 0x10023a17
and dword [ebp - 0x90], 0
jmp 0x1002398d
mov eax, dword [ebp - 0x90]
inc eax
mov dword [ebp - 0x90], eax
cmp dword [ebp - 0x90], 0xbae
jge 0x10023a17
and dword [ebp - 0x98], 0
jmp 0x100239af
mov eax, dword [ebp - 0x98]
inc eax
mov dword [ebp - 0x98], eax
cmp dword [ebp - 0x98], 0x3a78
jge 0x10023a12
mov eax, dword [ebp - 0x90]
xor eax, dword [ebp - 0x98]
cdq
mov dword [ebp - 0x230], eax
mov dword [ebp - 0x22c], edx
push dword [ebp - 0x22c]
push dword [ebp - 0x230]
lea ecx, [ebp - 0x368]
call fcn.1000d0ee
pop ecx
pop ecx
mov dword [ebp - 0x21c], eax
mov ecx, dword [ebp - 0x21c]
call fcn.1001271a
push eax
call fcn.1004c14f
pop ecx
lea ecx, [ebp - 0x368]
call fcn.10012710
jmp 0x100239a2
jmp 0x10023980
mov byte [ebp - 0x32], 0
movzx eax, byte [ebp - 0x32]
test eax, eax
je 0x10023b44
mov dword [ebp - 0x158], 0x5c56
mov dword [ebp - 0x26c], 0x10008d28
cmp dword [ebp - 0x158], 0x5d25
jle 0x10023af3
and dword [ebp - 0xa0], 0
jmp 0x10023a61
mov eax, dword [ebp - 0xa0]
inc eax
mov dword [ebp - 0xa0], eax
cmp dword [ebp - 0xa0], 0x73ff
jge 0x10023af3
and dword [ebp - 0xa8], 0
jmp 0x10023a87
mov eax, dword [ebp - 0xa8]
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0x59c
jge 0x10023aee
and dword [ebp - 0xb0], 0
jmp 0x10023aa9
mov eax, dword [ebp - 0xb0]
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0x7d09
jge 0x10023aec
mov eax, dword [ebp - 0xa0]
sub eax, dword [ebp - 0xa8]
xor eax, dword [ebp - 0xb0]
cdq
mov dword [ebp - 0x23c], eax
mov dword [ebp - 0x238], edx
push dword [ebp - 0x238]
push dword [ebp - 0x23c]
mov ecx, 0x10609d98
call fcn.1001273a
jmp 0x10023a9c
jmp 0x10023a7a
jmp 0x10023a54
call fcn.100226da
mov byte [ebp - 4], 0xb
cmp dword [ebp - 0x158], 0x59b6
jge 0x10023b18
mov edx, dword [ebp - 0x26c]
mov ecx, 0x10609d98
call fcn.1001505e
jmp 0x10023b34
mov dword [ebp - 4], 0xa
jmp 0x10023b44
mov byte [ebp - 4], 0xd
cmp dword [ebp - 0x160], 0x4fa1
jge 0x10023b60
push dword [ebp - 0x228]
call fcn.1004c14f
pop ecx
jmp 0x10023b7c
mov dword [ebp - 4], 0xa
jmp 0x10023b8c
mov dword [ebp - 0x170], 0x3d2d
mov dword [ebp - 0x1d4], 0x10008de0
cmp dword [ebp - 0x170], 0x40d9
jle 0x10023c77
push 0x260e
push 0x4c3
push 0x1398
push 0x11b3
call dword [sym.imp.GDI32.dll_CreateRectRgn]
and dword [ebp - 0xb8], 0
jmp 0x10023be0
mov eax, dword [ebp - 0xb8]
inc eax
mov dword [ebp - 0xb8], eax
cmp dword [ebp - 0xb8], 0x1e81
jge 0x10023c77
and dword [ebp - 0xc0], 0
jmp 0x10023c06
mov eax, dword [ebp - 0xc0]
inc eax
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xc0], 0x14d9
jge 0x10023c72
and dword [ebp - 0xc8], 0
jmp 0x10023c28
mov eax, dword [ebp - 0xc8]
inc eax
mov dword [ebp - 0xc8], eax
cmp dword [ebp - 0xc8], 0x382a
jge 0x10023c70
mov eax, dword [ebp - 0xb8]
cdq
idiv dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xc8]
shl edx, cl
mov eax, edx
cdq
mov dword [ebp - 0x248], eax
mov dword [ebp - 0x244], edx
push dword [ebp - 0x244]
push dword [ebp - 0x248]
mov ecx, 0x10609d98
call fcn.1001273a
jmp 0x10023c1b
jmp 0x10023bf9
jmp 0x10023bd3
mov dword [ebp - 0xd0], 0
jmp 0x10023c90
mov eax, dword [ebp - 0xd0]
inc eax
mov dword [ebp - 0xd0], eax
cmp dword [ebp - 0xd0], 1
jg 0x10023dcd
mov dword [ebp - 0x40], 0xfffffffa
mov dword [ebp - 0x120], 0
mov dword [ebp - 0x250], 0xfffffff6
mov dword [ebp - 0x40], 0
jmp 0x10023cc8
mov eax, dword [ebp - 0x40]
inc eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 1
jg 0x10023dab
mov dword [ebp - 0x7c], 0x8a012e1d
mov dword [ebp - 0x7c], 1
jmp 0x10023ce9
mov eax, dword [ebp - 0x7c]
dec eax
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x7c], 0
jl 0x10023d3d
mov dword [ebp - 0x20], 0x89226c31
mov dword [ebp - 0x20], 1
jmp 0x10023d06
mov eax, dword [ebp - 0x20]
dec eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jl 0x10023d1e
push 4
pop eax
shl eax, 1
mov dword [ebp + eax - 0x2a0], 7
jmp 0x10023cff
mov dword [ebp - 0x20], 0
jmp 0x10023d2e
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 1
jg 0x10023d3b
call fcn.100226e7
jmp 0x10023d27
jmp 0x10023ce2
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp + eax*4 - 0x290]
mov dword [ebp - 0x2f0], eax
mov eax, dword [ebp - 0x120]
mov dword [ebp - 0x254], eax
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x2a0]
mov dword [ebp - 0x234], eax
mov eax, dword [ebp - 0x120]
inc eax
mov dword [ebp - 0x120], eax
mov eax, dword [ebp - 0x254]
cmp eax, dword [ebp - 0x234]
je 0x10023d93
mov dword [ebp - 0x168], 1
jmp 0x10023d9a
and dword [ebp - 0x168], 0
mov eax, dword [ebp - 0x168]
mov dword [ebp - 0x250], eax
jmp 0x10023cc1
mov byte [ebp - 0x29], 0
movzx eax, byte [ebp - 0x29]
test eax, eax
je 0x10023dc8
push 0
push 0x329
push 0
push 0
call dword [sym.imp.KERNEL32.dll_VerSetConditionMask]
jmp 0x10023c83
mov byte [ebp - 4], 0xf
cmp dword [ebp - 0x170], 0x3b64
jge 0x10023ded
mov edx, dword [ebp - 0x1d4]
mov ecx, 0x10609d98
call fcn.1001505e
jmp 0x10023e09
mov dword [ebp - 4], 0xa
jmp 0x10023e19
jmp 0x10023938
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x290]
mov dword [ebp - 0x44], eax
mov byte [ebp - 4], 0x11
cmp dword [ebp - 0x178], 0x7354
jge 0x10023e4a
push dword [ebp - 0x1dc]
call fcn.1004c14f
pop ecx
jmp 0x10023e66
mov dword [ebp - 4], 0xa
jmp 0x10023e76
mov dword [ebp - 0x3c], 0xf7e2799a
mov dword [ebp - 0x3c], 0
jmp 0x10023e8d
mov eax, dword [ebp - 0x3c]
inc eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0x1d
jne 0x10024010
push 2
lea ecx, [ebp - 0x2c0]
call fcn.10012962
mov byte [ebp - 4], 0x13
mov dword [ebp - 0x30], 5
mov dword [ebp - 0x4c], 0x962600bf
lea eax, [ebp - 0x2c0]
push eax
lea eax, [ebp - 0x300]
push eax
call fcn.10022703
pop ecx
pop ecx
mov dword [ebp - 0x30], 0
jmp 0x10023edb
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 1
jg 0x10023fee
mov dword [ebp - 0x190], 0xfffffff8
mov dword [ebp - 0x124], 0
lea eax, [ebp - 0x124]
push eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x190]
push eax
lea eax, [ebp - 0x2c0]
push eax
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x4c]
push eax
call fcn.1002274b
add esp, 0x18
xor eax, eax
inc eax
je 0x10023fba
mov eax, dword [ebp - 0x124]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
add eax, 0xfffb
je 0x10023f44
cmp dword [ebp - 0x30], 0
jne 0x10023f53
cmp dword [ebp - 0x4c], 0
jne 0x10023f53
and dword [ebp - 0x180], 0
jmp 0x10023f5d
mov dword [ebp - 0x180], 1
mov eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x180]
jg 0x10023f74
mov dword [ebp - 0x188], 1
jmp 0x10023f7b
and dword [ebp - 0x188], 0
imul eax, dword [ebp - 0x188], 0xcfb9
cmp eax, dword [ebp - 0x30]
jle 0x10023f96
mov dword [ebp - 0x198], 1
jmp 0x10023f9d
and dword [ebp - 0x198], 0
mov eax, dword [ebp - 0x190]
imul eax, dword [ebp - 0x198]
test eax, eax
je 0x10023fba
mov dword [ebp - 0x1a0], 1
jmp 0x10023fc1
and dword [ebp - 0x1a0], 0
mov eax, dword [ebp - 0x3c]
cmp dword [ebp - 0x1a0], eax
jl 0x10023fd8
mov dword [ebp - 0x1c8], 1
jmp 0x10023fdf
and dword [ebp - 0x1c8], 0
mov dword [ebp - 0x124], 9
jmp 0x10023ed4
mov byte [ebp - 0x33], 0
lea eax, [ebp - 0x33]
push eax
call fcn.10022924
pop ecx
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x2c0]
call fcn.100129e4
jmp 0x10023e86
call fcn.10022944
lea ecx, [ebp - 0x318]
call fcn.1001295e
cmp eax, dword [ebp + 0xc]
je 0x10024075
push 0x179e
lea eax, [ebp - 0x1cc]
push eax
push 0x16c6
push 0
lea eax, [ebp - 0x330]
push eax
push 0xd99
push 0x7077
push 0x687d
call fcn.10024102
add esp, 0x20
lea eax, [ebp - 0x1cc]
push eax
lea eax, [ebp - 0x330]
push eax
lea eax, [ebp - 0x318]
push eax
call fcn.10022963
add esp, 0xc
jmp 0x10024015
lea eax, [ebp - 0x318]
push eax
mov ecx, dword [ebp + 8]
call fcn.1001a7f2
mov eax, dword [ebp - 0x1a8]
or eax, 1
mov dword [ebp - 0x1a8], eax
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x318]
call fcn.10012912
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x330]
call fcn.10012912
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret