Function at 0x100022ee
Capabilities:
Encrypt data using speck

Disassembly:
mov eax, 0x1005bf19
call fcn.1005b9e8
sub esp, 0x1c8
push ebx
push esi
mov esi, edx
mov dword [ebp - 0x58], 0x5dd7
push edi
xor ebx, ebx
mov dword [ebp - 0x10], esp
cmp dword [ebp - 0x58], 0x5f0d
mov dword [ebp - 0x20], esi
mov dword [ebp - 0xf4], esi
jle 0x10002364
push ebx
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov esi, ebx
mov edi, ebx
mov dword [ebp - 0x24], ebx
mov ecx, ebx
lea eax, [edi + esi]
shl eax, cl
mov ecx, 0x100761b8
cdq
push edx
push eax
call fcn.100062df
inc ebx
cmp ebx, 0x16c
jl 0x1000232f
inc edi
push 0
pop ebx
cmp edi, 0x9a8
jl 0x1000232c
inc esi
cmp esi, 0x432e
jl 0x1000232a
mov esi, dword [ebp - 0x20]
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x58], 0x5a13
jge 0x1000237f
mov edx, str.iyc_ajucuv_vlexhunag
mov ecx, 0x100761b8
call fcn.10008b0d
or edi, 0xffffffff
mov dword [ebp - 4], edi
cmp byte [ebp + 8], 0
je 0x100023c3
mov eax, dword [ebp + 0x14]
mov dword [eax], 6
jmp 0x100035d7
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x30], 0xcea5d6c0
mov dword [ebp - 0x48], 0x9e6a
push 4
mov dword [ebp - 0x104], eax
mov eax, 0x8eb0badc
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xe0], eax
pop ecx
mov dword [ebp - 0xdc], eax
push 2
mov dword [ebp - 0x80], esi
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x30], ebx
pop esi
cmp dword [ebp - 0x30], 0xffffffed
jle 0x100026de
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x34], 0x79cd
cmp dword [ebp - 0x34], 0x79de
jle 0x10002450
mov edi, ebx
mov esi, ebx
mov eax, esi
mov ecx, 0x100761b8
xor eax, edi
cdq
push edx
push eax
call fcn.100062df
inc esi
cmp esi, 0x7c1b
jl 0x1000242a
inc edi
cmp edi, 0x10df
jl 0x10002428
push 2
pop esi
mov dword [ebp - 0x44], ebx
mov dword [ebp - 4], esi
cmp dword [ebp - 0x34], 0x78a6
jge 0x1000246e
mov edx, str.bvqiyj_rozidug_hgfqzj_bwbaga_zijvkxpl_tty_pfdh
mov ecx, 0x100761b8
call fcn.10008b0d
or edi, 0xffffffff
mov dword [ebp - 4], edi
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x1c], ebx
jmp 0x100024bd
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x7c], 0xde0b4074
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x100024af
mov dword [ebp - 0x14], 1
cmp dword [ebp - 0x14], ebx
jl 0x100026d3
mov dword [ebp - 0x18], 0x352601c8
mov dword [ebp - 0x3c], 9
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0x7c], ebx
je 0x1000251f
mov eax, dword [ebp - 0x78]
xor ecx, ecx
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x30]
cmp eax, 1
setl cl
neg ecx
cmp ecx, dword [ebp - 0x14]
je 0x1000250a
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x7c]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x7c]
cmp dword [ebp - 0x7c], ebx
jne 0x10002528
cmp dword [ebp - 0x44], ebx
jne 0x10002528
mov edx, ebx
jmp 0x1000252b
xor edx, edx
inc edx
mov eax, dword [ebp - 0x48]
xor ecx, ecx
cmp edx, eax
setne cl
xor edx, edx
add ecx, 0x49c4b05e
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x18]
cmp eax, ecx
setge dl
cmp edi, edx
sbb eax, eax
neg eax
mov dword [ebp - 0xe0], eax
add eax, 0x7458699
je 0x1000256d
mov ecx, 0x7e41
call fcn.10003b16
jmp 0x10002684
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x2c], 0x26f2
cmp dword [ebp - 0x2c], 0x274f
jle 0x100025d0
mov edi, ebx
mov esi, ebx
mov dword [ebp - 0x34], 0x7de8
mov eax, esi
lea ecx, [ebp - 0x18c]
cdq
push edx
push eax
call fcn.10001341
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x100025a5
mov eax, dword [eax]
push eax
call fcn.10044ce0
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x18c]
call fcn.100014ca
add esi, edi
dec dword [ebp - 0x34]
jne 0x1000258b
inc edi
cmp edi, 0x3623
jl 0x10002582
push 2
pop esi
or edi, 0xffffffff
mov dword [ebp - 0x48], 0xffffffe7
jmp 0x10002663
mov dword [ebp - 0x1c], ebx
jmp 0x100025f2
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xf8], 0x5d8284a8
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 1
jl 0x100025e1
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x7c]
cmp dword [ebp - 0x3c], 0xc9060546
sbb ecx, ecx
imul eax, dword [ebp - 0x44], 0xfffc
neg ecx
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setl dl
cmp edx, dword [ebp + eax*4 - 0x7c]
je 0x10002624
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0xf8]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x7c]
cmp eax, 0x9dea6cba
sete cl
xor eax, eax
cmp ecx, 9
setge al
cmp eax, dword [ebp - 0x18]
jg 0x10002657
cmp dword [ebp - 0x18], ebx
jne 0x10002657
mov eax, ebx
jmp 0x1000265a
xor eax, eax
inc eax
mov dword [ebp - 0xe0], eax
inc dword [ebp - 0x48]
cmp dword [ebp - 0x48], 0xfffffff6
je 0x100025dc
cmp dword [ebp - 0x2c], 0x2360
jge 0x10002681
push str.myr_woablcr_ddzdtzvat_jiodt_cbfb_eenlgklm_ltnfxhrqa_nwtn_qmkwaxu_qxy
call fcn.10044ce0
pop ecx
mov dword [ebp - 4], edi
mov eax, dword [ebp - 0x7c]
xor edx, edx
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x34]
sub ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x30]
cmp ecx, eax
setle dl
xor eax, eax
cmp edx, 0x9780
mov edx, dword [ebp - 0x44]
setge al
sub edx, eax
mov eax, dword [ebp - 0x48]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
setl cl
mov dword [ebp - 0x18], ecx
dec dword [ebp - 0x14]
jmp 0x100024c9
dec dword [ebp - 0x30]
push 4
pop ecx
jmp 0x10002409
mov dword [ebp - 0xdc], 0x1bfdb9ce
mov dword [ebp - 0xcc], ebx
mov dword [ebp - 0xc8], ebx
mov dword [ebp - 0xc4], ebx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 4], 6
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x48], 0xfffffffc
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x1c], 0xa219909d
mov dword [ebp - 0x44], 1
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x14], ebx
jmp 0x10002738
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xb8], 0xffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x10002727
mov dword [ebp - 0x14], ebx
jmp 0x10002750
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x6c], 0x6489
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x10002742
mov dword [ebp - 0x14], ebx
jmp 0x10002768
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xc0], edi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1000275b
mov eax, dword [ebp - 0xac]
xor ecx, ecx
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x6c]
mov edx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0x68]
imul edx, eax
mov eax, dword [ebp - 0x6c]
cmp edx, eax
setne cl
mov dword [ebp - 0x48], ecx
xor ecx, ecx
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0xc0], edx
mov eax, dword [ebp - 0xac]
cmp edx, eax
setg cl
cmp ecx, 0xfffb
jb 0x100027b3
mov eax, dword [ebp - 0x6c]
mov eax, dword [ebp - 0xb0]
xor edx, edx
mov eax, dword [ebp - 0xac]
mov eax, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x6c]
mov eax, dword [ebp - 0xac]
mov eax, dword [ebp - 0x68]
mov eax, dword [ebp - 0x6c]
mov eax, dword [ebp - 0xb4]
mov eax, dword [ebp - 0x6c]
mov eax, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xac]
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0x6c]
cmp ecx, eax
setl dl
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x48], 0xb
jmp 0x10002a79
mov dword [ebp - 0x4c], 0x81f51b43
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x34], 0xa3da7981
mov dword [ebp - 0x38], 9
mov dword [ebp - 0x1c], ebx
jmp 0x10002a40
mov dword [ebp - 0x14], 0x79f9f4ae
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x30], ebx
jmp 0x10002851
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0xa0], 0xb0969e0c
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], esi
jl 0x10002840
mov dword [ebp - 0x30], esi
cmp dword [ebp - 0x30], ebx
jl 0x100028bf
mov dword [ebp - 0x24], 0xb96bc97d
mov dword [ebp - 0x24], 0x4ad44630
mov dword [ebp - 0x24], 0xfffffff9
mov dword [ebp - 0x2c], ebx
jmp 0x10002889
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x198], 0xa258d3b3
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 3
jl 0x10002878
cmp dword [ebp - 0x14], ebx
je 0x10002897
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xb8], ebx
mov eax, dword [ebp - 0x44]
inc dword [ebp - 0x44]
mov eax, dword [ebp - 0x14]
cmp eax, 0x50c1
setle cl
mov dword [ebp - 0x24], ecx
dec dword [ebp - 0x30]
jns 0x1000285e
mov dword [ebp - 0x44], ebx
jmp 0x10002a34
mov dword [ebp - 0x3c], 0x2d2a
mov dword [ebp - 0x2c], 0xbdeef3aa
mov dword [ebp - 0x18], 9
mov dword [ebp - 0x30], ebx
cmp dword [ebp - 0x24], ebx
je 0x100028f0
mov dword [ebp - 0x34], 1
cmp dword [ebp - 0x14], ebx
jne 0x100028f3
mov dword [ebp - 0x34], ebx
mov ecx, dword [ebp - 0xac]
xor edx, edx
mov eax, dword [ebp - 0x2c]
cmp eax, ecx
setl dl
mov dword [ebp - 0x2c], edx
mov ecx, dword [ebp - 0x2c]
neg ecx
mov dword [ebp - 0x2c], 1
sbb ecx, ecx
xor edx, edx
neg ecx
dec dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
cmp eax, ecx
mov eax, dword [ebp - 0x18]
setl dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x38]
setl cl
xor edx, edx
cmp dword [ebp - 0x34], ecx
setge dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x2c]
setl cl
xor edx, edx
cmp eax, ecx
setne dl
sub edx, dword [ebp - 0x18]
add edx, 0x7019510d
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x14], esi
cmp dword [ebp - 0x14], ebx
jl 0x10002a31
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + eax*4 - 0x6c]
mov eax, dword [ebp - 0x14]
neg ecx
mov dword [ebp + eax*4 - 0x6c], ecx
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + eax*4 - 0x6c]
mov eax, dword [ebp - 0x14]
cmp ecx, dword [ebp + eax*4 - 0x6c]
jge 0x10002a22
mov eax, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x3c]
cmp dword [ebp - 0x9c], eax
jg 0x1000299f
cmp dword [ebp - 0x18], ebx
jne 0x1000299f
mov ecx, ebx
jmp 0x100029a2
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
add eax, ecx
mov dword [ebp - 0xc0], eax
add eax, 5
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
cmp dword [ebp - 0x44], ebx
jne 0x100029d6
cmp dword [ebp - 0x18], ebx
jne 0x100029d6
mov ecx, ebx
jmp 0x100029d9
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0x18]
xor edx, edx
cmp ecx, eax
setge dl
sub edx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x9c]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [ebp - 0x14]
setg cl
xor edx, edx
mov eax, dword [ebp + eax*4 - 0x6c]
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setg dl
xor ecx, ecx
cmp edx, eax
setne cl
imul ecx, dword [ebp - 0xac]
test ecx, ecx
jne 0x10002a22
mov eax, ebx
jmp 0x10002a25
xor eax, eax
inc eax
mov dword [ebp - 0x34], eax
dec dword [ebp - 0x14]
jns 0x10002961
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], esi
jle 0x100028c7
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jle 0x10002831
push 1
push ebx
push 0x439a
lea eax, [ebp - 0x51]
mov byte [ebp - 0x51], bl
push eax
push 0x51ac
push ebx
push 0x48d7
mov edx, 0x4d6d
mov ecx, 0x4b4b
call fcn.100043f2
add esp, 0x1c
dec dword [ebp - 0x48]
cmp dword [ebp - 0x48], 0xffffffe6
jg 0x10002811
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x3c], 0xfffffff8
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x3c], ebx
cmp dword [ebp - 0x3c], 0x17
jg 0x10002d00
mov dword [ebp - 0x1c], 0x1f665683
mov dword [ebp - 0x38], 0x2527
cmp dword [ebp - 0x38], 0x603
jge 0x10002bbd
lea eax, [ebp - 0x5c]
mov dword [ebp - 0xa4], ebx
push eax
lea eax, [ebp - 0xa4]
mov dword [ebp - 0x5c], ebx
push eax
push str._ld__ld
call fcn.10044fee
mov eax, dword [ebp - 0x5c]
xor ecx, ecx
push 4
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.10040463
mov ecx, eax
mov dword [ebp - 0x90], ebx
mov eax, dword [ebp - 0x5c]
add esp, 0x10
mov dword [ebp - 0x4c], ecx
mov byte [ebp - 0x25], 1
mov dword [ebp - 0x24], ebx
test eax, eax
jle 0x10002b54
lea eax, [ebp - 0x90]
push eax
push 0x100639fc
call fcn.10044fee
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x90]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x4c]
mov dword [ecx + edx*4], eax
mov eax, dword [ebp - 0x90]
cmp eax, 1
je 0x10002b4e
cmp eax, dword [ebp - 0xa4]
je 0x10002b4e
mov eax, dword [ebp - 0x5c]
inc edx
mov dword [ebp - 0x24], edx
cmp edx, eax
jl 0x10002b0c
jmp 0x10002b54
mov eax, dword [ebp - 0x5c]
mov byte [ebp - 0x25], bl
lea edx, [ecx + eax*4]
mov byte [ebp - 0xd0], bl
push dword [ebp - 0xd0]
mov eax, edx
sub eax, ecx
sar eax, 2
push eax
call fcn.100093fa
mov eax, dword [ebp - 0x5c]
pop ecx
add eax, 0xfffffffe
mov dword [ebp - 0x38], eax
pop ecx
mov ecx, ebx
test eax, eax
jle 0x10002ba0
mov edx, dword [ebp - 0x4c]
mov eax, dword [edx + ecx*4]
inc eax
cmp dword [edx + ecx*4 + 4], eax
jne 0x10002b9a
mov eax, dword [edx + ecx*4]
add eax, 2
cmp dword [edx + ecx*4 + 8], eax
je 0x10002bae
inc ecx
cmp ecx, dword [ebp - 0x38]
jl 0x10002b84
mov al, byte [ebp - 0x25]
test al, al
je 0x10002bb2
push 0x10063cd8
jmp 0x10002bb7
mov al, bl
jmp 0x10002ba3
push 0x10063cdc
call fcn.10045566
pop ecx
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x34], 1
mov dword [ebp - 0x2c], 0x72b5725d
mov dword [ebp - 0x1c], 0x4c56
cmp dword [ebp - 0x1c], 0x4ed5
jle 0x10002c44
mov esi, ebx
mov eax, ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x4c], 0x1a8c
xor eax, esi
lea ecx, [ebp - 0x1b0]
cdq
push edx
push eax
call fcn.10001341
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10002c09
mov eax, dword [eax]
push eax
call fcn.10044ce0
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x1b0]
call fcn.100014ca
mov eax, dword [ebp - 0x24]
dec eax
dec dword [ebp - 0x4c]
mov dword [ebp - 0x24], eax
jne 0x10002bef
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp eax, 0x5f96
jl 0x10002be5
inc esi
cmp esi, 0x51c1
jl 0x10002be0
push 2
pop esi
cmp dword [ebp - 0x1c], 0x4b47
jge 0x10002c58
push str.rvmxdlop_bezejwt_peqfl_lanwcka_lqb_ovf_gazpennq_ruhno_gss_exrpte_hqqly_fzvi
call fcn.10044ce0
pop ecx
mov dword [ebp - 4], 6
mov dword [ebp - 0x18], ebx
jmp 0x10002c75
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x150], 0x8ceef9a8
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x10002c64
mov dword [ebp - 0x1c], 0xfffffff2
jmp 0x10002cf2
mov dword [ebp - 0x24], 0x91f6f49c
mov dword [ebp - 0x18], ebx
jmp 0x10002ca0
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x12c], 0x30cc2fdc
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x10002c8f
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x128]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0xf7c8b166
mov eax, dword [ebp - 0x34]
sbb ecx, ecx
inc ecx
inc dword [ebp - 0x34]
cmp eax, ecx
jl 0x10002cd2
cmp dword [ebp - 0x24], ebx
jne 0x10002cd2
mov ecx, ebx
jmp 0x10002cd5
xor ecx, ecx
inc ecx
xor eax, eax
cmp ecx, 1
setg al
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x14c]
mov dword [ebp - 0x128], eax
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xffffffe9
je 0x10002c83
inc dword [ebp - 0x3c]
jmp 0x10002a96
push 0x141d
push 0x4a20
push 0x2f0
push ebx
push 1
push 0xcc5
xor dl, dl
mov ecx, 0x2042
call fcn.10004c0d
mov ecx, dword [ebp + 0xc]
add esp, 0x18
cmp dword [ecx + 0x14], 8
jb 0x10002d33
mov eax, dword [ecx]
jmp 0x10002d35
mov eax, ecx
push dword [ecx + 0x10]
mov ecx, dword [ebp - 0x20]
push ebx
push eax
call fcn.10006e96
mov edi, ebx
mov dword [ebp - 0x74], edi
mov dword [ebp - 0x3c], eax
cmp edi, 0xffffffff
je 0x1000348e
cmp edi, dword [ebp - 0x30]
jae 0x1000348e
mov dword [ebp - 0x8c], 0x624cdb8f
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x50], 0x8100c430
mov dword [ebp - 0x94], 0xffffffff
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x24], 0x98c
cmp dword [ebp - 0x24], 0xb6e
jle 0x10002dc8
mov esi, ebx
mov edi, ebx
mov dword [ebp - 0x38], ebx
mov eax, ebx
mov ecx, 0x100761b8
xor eax, edi
or eax, esi
cdq
push edx
push eax
call fcn.100062df
inc ebx
cmp ebx, 0x742a
jl 0x10002d94
inc edi
push 0
pop ebx
cmp edi, 0x1e7a
jl 0x10002d91
inc esi
cmp esi, 0x74d
jl 0x10002d8f
push 2
pop esi
mov dword [ebp - 0x34], 0x905f4d0c
mov byte [ebp - 4], 9
cmp dword [ebp - 0x24], 0x7f7
jge 0x10002e18
mov edx, str.ickh_xnld_gwawixt_wfne_xsxg_ovt_mzww_vkbfo_vlcovtvbh_wpqgrhmnu_fnuohfyjf
mov ecx, 0x100761b8
call fcn.10008b0d
jmp 0x10002e18
mov dword [ebp - 4], 6
push 0xfffffffffffffff8
pop edi
mov dword [ebp - 0x148], edi
mov dword [ebp - 0x144], edi
mov dword [ebp - 0x140], edi
mov dword [ebp - 0x13c], edi
mov dword [ebp - 0x4c], 0x9d3f58f2
mov dword [ebp - 0x100], 0xf0ebe340
mov dword [ebp - 0x14], ebx
jmp 0x10002e61
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xec], 0x627dbd1
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10002e50
mov dword [ebp - 0x14], ebx
jmp 0x10002e7c
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x154], 0x44cb
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 1
jl 0x10002e6b
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x70]
push eax
push 0x1cea
lea eax, [ebp - 0x8c]
push eax
push 0x39b7
push ebx
lea edx, [ebp - 0x60]
lea ecx, [ebp - 0x94]
call fcn.10003b60
add esp, 0x18
mov dword [ebp - 0x60], ebx
cmp dword [ebp - 0x60], 0x1a
jg 0x1000318c
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x98], 0x8d7e942f
mov dword [ebp - 0x38], 0x5454
mov dword [ebp - 0x38], 0xeaadaf8
mov dword [ebp - 0x38], 1
mov dword [ebp - 0x38], 0x5efb
mov dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 0x38], 1
mov dword [ebp - 0x38], 0xc2aa0bde
mov dword [ebp - 0x38], 0x7c19c50e
mov dword [ebp - 0xf0], 0xe4446ca3
mov dword [ebp - 0x38], 5
mov dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 0x18], ebx
jmp 0x10002f31
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x88], 0x39e0
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x10002f20
mov dword [ebp - 0x50], ebx
cmp dword [ebp - 0x50], 1
jg 0x10003156
mov dword [ebp - 0x38], 0xb11589a4
mov dword [ebp - 0x24], 0x4d6d
cmp dword [ebp - 0x24], 0x5110
jle 0x10002fb8
mov edx, ebx
mov dword [ebp - 0x18], ebx
mov esi, ebx
mov edi, ebx
mov eax, esi
mov dword [ebp - 0x34], ebx
mov ecx, edi
shl eax, cl
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x34]
sar eax, cl
mov ecx, 0x100761b8
xor eax, edx
cdq
push edx
push eax
call fcn.100062df
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x34], eax
cmp eax, 0x570f
mov eax, dword [ebp - 0x38]
jl 0x10002f6f
inc edi
cmp edi, 0x6aae
jl 0x10002f63
inc esi
cmp esi, 0x1aa0
jl 0x10002f61
inc edx
mov dword [ebp - 0x18], edx
cmp edx, 0x80c
jl 0x10002f5f
push 2
pop esi
mov dword [ebp - 0x38], 0x231d5762
mov byte [ebp - 4], 0xb
cmp dword [ebp - 0x24], 0x4c0f
jge 0x10003008
mov edx, str.xvrhj_jjpujqey_wqr_rtyllzjc_awsjsdur
mov ecx, 0x100761b8
call fcn.10008b0d
jmp 0x10003008
mov dword [ebp - 4], 6
mov dword [ebp - 0x38], 0xfffffffb
mov dword [ebp - 0x24], 0x833686a8
mov dword [ebp - 0x38], 0x4a0f0c0e
mov dword [ebp - 0x18], ebx
jmp 0x10003036
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x138], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x10003029
mov eax, dword [ebp - 0x50]
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x88]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp + eax*4 - 0x88]
mov eax, dword [ebp - 0x94]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp + eax*4 - 0x88]
mov eax, dword [ebp - 0x84]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp + eax*4 - 0x88]
cmp eax, esi
sete cl
xor eax, eax
cmp ecx, 0x6496
setge al
mov dword [ebp - 0x70], eax
mov ecx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x84]
add eax, ecx
mov ecx, dword [ebp - 0x70]
add ecx, eax
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp - 0x88]
sub eax, 0xc3c348fb
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x4c]
cmp eax, 0x2618
setge cl
imul ecx, dword [ebp - 0xec]
inc dword [ebp - 0xec]
cmp ecx, 0x49e3b93f
jle 0x100030d4
xor edx, edx
inc edx
jmp 0x100030d6
mov edx, ebx
mov eax, dword [ebp - 0x70]
xor ecx, ecx
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x70]
cmp edx, eax
setne cl
imul edx, dword [ebp - 0x24], 0xb54c
mov eax, dword [ebp - 0x98]
sub edx, ecx
xor ecx, ecx
imul edx, eax
mov eax, dword [ebp - 0x4c]
cmp edx, eax
setg cl
mov dword [ebp - 0x24], ecx
cmp dword [ebp - 0x24], ebx
jne 0x1000311a
mov eax, dword [ebp - 0x50]
cmp dword [ebp + eax*4 - 0x88], ebx
jne 0x1000311a
mov eax, ebx
jmp 0x1000311d
xor eax, eax
inc eax
mov ecx, 0xffff3824
sub ecx, eax
mov eax, dword [ebp - 0x94]
add eax, ecx
mov ecx, dword [ebp - 0x8c]
add ecx, eax
jne 0x10003142
cmp dword [ebp - 0x88], ebx
jne 0x10003142
mov eax, ebx
jmp 0x10003145
xor eax, eax
inc eax
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x38], eax
inc dword [ebp - 0x50]
jmp 0x10002f39
lea eax, [ebp - 0xf0]
push eax
push 0x4118
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0x100]
push eax
push ecx
lea edx, [ebp - 0x8c]
mov ecx, 0x638a
call fcn.10004997
add esp, 0x14
inc dword [ebp - 0x60]
jmp 0x10002eb0
mov edi, dword [ebp - 0x3c]
cmp edi, 0xffffffff
jne 0x100034ae
mov dword [ebp - 0x3c], 0xd6c05baf
mov dword [ebp - 0x40], 0x963ab194
mov dword [ebp - 0x40], 8
mov dword [ebp - 0x40], 0x9598aaf0
mov dword [ebp - 0x40], 0x3d7f1912
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x40], 0x51dd2e9
mov dword [ebp - 0x40], 0x8aac1e0f
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x40], 0xd9964374
push 0xfffffffffffffffd
pop eax
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x18], ebx
jmp 0x1000320a
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x15c], 0x352601c8
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x100031f9
mov dword [ebp - 0x3c], 5
cmp dword [ebp - 0x3c], 0x15
jl 0x100033e8
xor ecx, ecx
inc ecx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x40], 0xdd93ba6
mov dword [ebp - 0x14], ebx
jmp 0x1000323f
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xa8], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x10003232
mov dword [ebp - 0x14], ebx
jmp 0x1000325a
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x110], 0x3248c66f
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x10003249
mov dword [ebp - 0x10c], ebx
cmp dword [ebp - 0x10c], ebx
jl 0x100033e0
mov dword [ebp - 0x24], 0xf4a
cmp dword [ebp - 0x24], 0x131f
jle 0x100032c1
push ebx
push 0x1cbc
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetScrollInfo]
mov edi, ebx
mov esi, ebx
mov ecx, esi
mov eax, edi
shl eax, cl
mov ecx, 0x100761b8
cdq
push edx
push eax
call fcn.100062df
inc esi
cmp esi, 0x275d
jl 0x10003299
inc edi
cmp edi, 0x3290
jl 0x10003297
push 2
pop esi
mov dword [ebp - 0x1c], 0x6e6f7fbf
mov byte [ebp - 4], 0xd
cmp dword [ebp - 0x24], 0xef1
jge 0x1000330b
mov edx, str.ezpqeunm_omvzby_yxoxj_lxqzcrts_ibmyreeg_egtxfn_zvke_bxouhy_pkhiah
mov ecx, 0x100761b8
call fcn.10008b0d
jmp 0x1000330b
mov dword [ebp - 4], 6
mov dword [ebp - 0x40], 0x3203bd65
mov dword [ebp - 0x40], 0xfad5befa
mov dword [ebp - 0x40], 0xfffffffb
mov dword [ebp - 0x40], 0x6d7d0454
mov dword [ebp - 0x14], ebx
jmp 0x10003344
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x174], 0xe491ba6b
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x10003333
mov dword [ebp - 0x14], ebx
jmp 0x10003360
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1bc], 0x193fe696
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1000334f
mov dword [ebp - 0x14], ebx
jmp 0x10003378
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x168], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1000336b
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], ebx
jl 0x100033cf
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
push 0x4bf6
push 0xe5f
push 0x2ca9
mov eax, dword [ebp + eax*4 - 0xa8]
mov dl, 1
cmp eax, 0xe32cf41
mov eax, dword [ebp - 0x1c]
push ebx
setge cl
push 1
mov dword [ebp + eax*4 - 0xa8], ecx
mov ecx, 0x71fc
push 0x4831
call fcn.10004c0d
add esp, 0x18
dec dword [ebp - 0x1c]
jns 0x10003386
dec dword [ebp - 0x120]
dec dword [ebp - 0x10c]
jmp 0x10003266
inc dword [ebp - 0x3c]
jmp 0x10003216
push 0x3bf1
push 1
lea eax, [ebp - 0x74]
push eax
push dword [ebp - 0x20]
lea edx, [ebp - 0xcc]
call fcn.100020d4
xor ecx, ecx
mov dword [ebp - 0x20], 0x394643cd
add esp, 0x10
inc ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x40], 0xeda8ed40
mov dword [ebp - 0x18], ebx
jmp 0x1000342e
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xd4], 0x9fcfbce0
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1000341d
push 0x6f7d
push 0x640e
mov ecx, 0x4ba0
call fcn.100044e6
mov eax, dword [ebp - 0x20]
pop ecx
pop ecx
cmp eax, dword [ebp - 0x20]
jl 0x1000346c
cmp dword [ebp - 0x20], ebx
jne 0x1000345a
mov ecx, ebx
jmp 0x1000345d
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov ecx, 0xe13a
xor edx, edx
mov dword [ebp - 0xd4], ecx
mov eax, dword [ebp - 0x20]
cmp eax, ecx
mov eax, dword [ebp - 0x20]
setne dl
xor ecx, ecx
cmp eax, edx
setge cl
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], 0x3fcb50bf
xor ecx, ecx
mov dword [ebp - 0x2c], 0xe864896e
inc ecx
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x20], ebx
jmp 0x10003525
cmp edi, dword [ebp - 0x74]
je 0x100034ed
mov ecx, dword [ebp - 0x20]
mov eax, edi
sub eax, dword [ebp - 0x74]
push eax
push dword [ebp - 0x74]
lea eax, [ebp - 0x1d4]
push eax
call fcn.100065b6
push eax
lea ecx, [ebp - 0xcc]
mov byte [ebp - 4], 0xf
call fcn.10006676
push ebx
push 1
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 6
call fcn.10006f39
mov ecx, dword [ebp + 0xc]
add edi, dword [ebp - 0x40]
mov dword [ebp - 0x74], edi
cmp dword [ecx + 0x14], 8
jb 0x10003500
mov eax, dword [ecx]
jmp 0x10003502
mov eax, ecx
push dword [ecx + 0x10]
mov ecx, dword [ebp - 0x20]
push edi
push eax
call fcn.10006e96
jmp 0x10002d47
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x130], 0xe76e5b14
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jl 0x10003514
mov dword [ebp - 0x20], ebx
jmp 0x10003540
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0xfc], 0x31aa08
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jl 0x1000352f
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
cmp eax, 0x4157
setne cl
mov dword [ebp - 0xfc], ecx
mov dword [ebp - 0x1c], 0xfffffff8
jmp 0x100035b4
mov dword [ebp - 0x2c], ebx
jmp 0x100035ac
mov byte [ebp - 0x25], bl
cmp byte [ebp - 0x25], 0
je 0x10003577
call fcn.10003af8
mov dword [ebp - 0x18], 0x16
jmp 0x100035a3
mov byte [ebp - 0x25], bl
cmp byte [ebp - 0x25], 0
je 0x1000358e
call fcn.100035e8
mov byte [ebp - 0x52], bl
lea ecx, [ebp - 0x52]
push ebx
mov edx, 0x5663
call fcn.10004488
dec dword [ebp - 0x18]
pop ecx
cmp dword [ebp - 0x18], 0xffffffea
jl 0x10003580
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], esi
jle 0x10003569
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xfffffffc
jne 0x10003564
mov ecx, dword [ebp - 0x104]
lea eax, [ebp - 0xcc]
push eax
call fcn.100066e6
lea ecx, [ebp - 0xcc]
call fcn.1000706b
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret