Function at 0x10016eb7
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
mov eax, 0x10062937
call fcn.10061f70
sub esp, 0x104
push ebx
push esi
push edi
mov dword [ebp - 0x1c], 0x5ab
xor edi, edi
cmp dword [ebp - 0x1c], 0x5d0
mov dword [ebp - 0x10], esp
jle 0x10016f46
mov esi, edi
mov dword [ebp - 0x20], edi
mov ebx, edi
mov dword [ebp - 0x24], edi
mov eax, ebx
mov dword [ebp - 0x28], edi
and eax, esi
mov dword [ebp - 0x18], eax
mov esi, eax
mov ebx, edi
mov dword [ebp - 0x18], 0x1798
mov edi, dword [ebp - 0x28]
mov eax, esi
mov ecx, 0x1007d9f8
or eax, ebx
cdq
push edx
push eax
call fcn.10001bd6
add ebx, edi
dec dword [ebp - 0x18]
jne 0x10016f01
inc edi
push 0
mov dword [ebp - 0x28], edi
cmp edi, 0x5b24
pop edi
jl 0x10016ef5
mov ebx, dword [ebp - 0x24]
mov esi, dword [ebp - 0x20]
inc ebx
mov dword [ebp - 0x24], ebx
cmp ebx, 0x4dec
jl 0x10016ee9
inc esi
mov dword [ebp - 0x20], esi
cmp esi, 0x4235
jl 0x10016ee4
cmp byte [ebp + 0x18], 0
je 0x10016fa7
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [ebp + 0x20]
mov edx, dword [eax]
mov eax, dword [ebp + 0x14]
sub edx, ecx
mov dword [eax], edx
mov dword [ebp - 4], 0xa
cmp dword [ebp - 0x1c], 0x2b5
jge 0x10016f7c
mov edx, str.xamt_yuhfyzel_rhbwmpy_hjsml_ezpkp_lliplry_tjobodpo_khhcul
mov ecx, 0x1007d9f8
call fcn.1000358d
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [ebp - 0x14], 0x3606de71
mov dword [ebp - 0x24], 0xa306
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x14], edi
jmp 0x10016fcf
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x30], 0xae355683
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10016fc1
mov dword [ebp - 0x14], edi
jmp 0x10016feb
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x8c], 0xc71bc7dc
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x10016fda
mov dword [ebp - 0x14], edi
jmp 0x10017007
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xc4], 0x2e71cc54
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x10016ff6
xor ebx, ebx
mov dword [ebp - 0x14], edi
inc ebx
jmp 0x10017193
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x28], 0xd2a4
mov dword [ebp - 0x18], 0xf0c8c580
mov dword [ebp - 0x18], 3
mov dword [ebp - 0x1c], edi
jmp 0x10017042
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xac], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x10017035
mov eax, dword [ebp - 0x14]
mov edx, 0xffff
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x30]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x30]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x30]
sub edx, eax
mov eax, dword [ebp - 0x30]
imul edx, eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x30]
cmp edx, eax
setle cl
imul ecx, dword [ebp - 0x2c]
test ecx, ecx
jne 0x1001708d
mov edx, edi
cmp dword [ebp - 0x30], edi
je 0x1001708f
mov edx, ebx
mov eax, dword [ebp - 0x14]
xor ecx, ecx
mov esi, dword [ebp + eax*4 - 0x30]
mov dword [ebp - 0x88], esi
mov eax, dword [ebp - 0x2c]
sub edx, eax
mov eax, dword [ebp - 0x24]
cmp edx, eax
setle cl
xor eax, eax
cmp ecx, 0x7747
setne al
xor edx, edx
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setl dl
sub edx, dword [ebp + eax*4 - 0x30]
xor eax, eax
cmp esi, edx
setle al
sub eax, dword [ebp - 0x20]
jne 0x100170e0
mov eax, edi
cmp dword [ebp - 0x14], edi
je 0x100170e2
mov eax, ebx
mov dword [ebp - 0xc0], eax
xor edx, edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + eax*4 - 0x30]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
setl dl
xor ecx, ecx
sub edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
cmp edx, eax
mov eax, dword [ebp - 0x14]
setg cl
mov dword [ebp + eax*4 - 0x30], ecx
mov eax, dword [ebp - 0x84]
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0x30], edi
je 0x10017139
mov eax, dword [ebp - 0x24]
xor edx, edx
mov ecx, dword [ebp - 0xa0]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
mov ecx, ebx
setge dl
cmp edx, dword [ebp - 0xa0]
jl 0x1001713b
mov ecx, edi
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp + eax*4 - 0x30]
mov eax, dword [ebp - 0xa0]
imul eax, ecx
xor ecx, ecx
cmp eax, edx
setne cl
mov dword [ebp - 0xac], ecx
xor ecx, ecx
mov edx, dword [ebp - 0x8c]
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x24]
cmp edx, eax
setl cl
cmp ecx, 0xefecf47a
sbb eax, eax
inc eax
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
imul eax, dword [ebp - 0x28]
mov dword [ebp - 0x18], eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jle 0x10017018
mov eax, dword [0x100e1a38]
test al, 1
jne 0x100171e9
or eax, ebx
mov ecx, 0x1571
or dword [0x100e1a24], 0xffffffff
mov edx, ebx
mov dword [0x100e1a38], eax
mov dword [0x100e06a4], ecx
mov eax, ecx
shr eax, 0x1e
xor eax, ecx
imul ecx, eax, 0x6c078965
add ecx, edx
mov dword [edx*4 + 0x100e06a4], ecx
inc edx
cmp edx, 0x270
jl 0x100171c0
mov dword [0x100e06a0], 0x270
mov dword [ebp - 0x24], 0xfffffff9
mov dword [ebp - 0x18], 0x5a1fa147
mov dword [ebp - 0x20], 0xfffffff7
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x1c], 0x894628ae
mov dword [ebp - 0x1c], 0xcceb8a06
mov dword [ebp - 0x14], edi
jmp 0x1001722c
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xb8], 0x96673e7e
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1001721b
mov dword [ebp - 0x14], edi
jmp 0x10017245
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x34], 0x18158fb5
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x10017237
mov dword [ebp - 0x14], edi
jmp 0x10017260
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xf4], 0x86de1f17
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x1001724f
cmp dword [ebp - 0x24], edi
je 0x10017314
mov eax, dword [ebp - 0x20]
xor edx, edx
mov eax, dword [ebp - 0x24]
cmp eax, 6
mov eax, dword [ebp - 0x34]
setge dl
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xb4]
cmp eax, dword [ebp - 0x34]
jl 0x1001729f
mov eax, ebx
cmp dword [ebp - 0x1c], edi
jne 0x100172a1
mov eax, edi
mov dword [ebp - 0x24], eax
xor ecx, ecx
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0xb8], edx
mov eax, dword [ebp - 0x34]
cmp edx, eax
mov eax, dword [ebp - 0x34]
setg cl
xor edx, edx
add ecx, 0x4356e3f0
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setg dl
xor ecx, ecx
cmp edx, eax
setge cl
xor edx, edx
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x34]
add ecx, 0x4bf7d69f
cmp ecx, eax
setne dl
xor ecx, ecx
mov dword [ebp - 0xec], edx
mov dword [ebp - 0x1c], edx
mov edx, ebx
mov eax, dword [ebp - 0x1c]
inc dword [ebp - 0x28]
mov dword [ebp - 0x18], 0xb597
mov eax, dword [ebp - 0x18]
cmp eax, 0x8459
setl cl
imul ecx, dword [ebp - 0x28]
neg ecx
jne 0x10017316
mov edx, edi
mov eax, dword [ebp - 0x34]
xor ecx, ecx
cmp edx, eax
setle cl
cmp ecx, dword [ebp - 0x34]
jg 0x1001732c
mov ecx, edi
cmp dword [ebp - 0x18], edi
je 0x1001732e
mov ecx, ebx
xor eax, eax
cmp ecx, 0xd983
setne al
cmp byte [0x1007eb2d], 0
mov dword [ebp - 0x1c], eax
jne 0x1001751f
mov dword [ebp - 0x24], 0x7a35
cmp dword [ebp - 0x24], 0x7ced
jle 0x100173af
mov ebx, edi
mov esi, edi
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x18], 0x2566
mov dword [ebp - 0x20], edi
mov ecx, edi
mov eax, esi
sar eax, cl
mov ecx, 0x1007d9f8
xor eax, ebx
cdq
push edx
push eax
call fcn.10001bd6
inc edi
cmp edi, 0x50bd
jl 0x1001736d
dec esi
dec dword [ebp - 0x18]
push 0
pop edi
jne 0x1001736a
mov esi, dword [ebp - 0x28]
inc esi
mov dword [ebp - 0x28], esi
cmp esi, 0x4fa4
jl 0x10017360
inc ebx
cmp ebx, 0x7895
jl 0x1001735b
xor ebx, ebx
inc ebx
mov dword [ebp - 0x14], 0xffff
mov dword [ebp - 4], edi
cmp dword [ebp - 0x24], 0x7720
jge 0x100173d1
mov edx, str.wihqmy_quyqishds_swzyg_yanuvpixe_fseni_bszxz
mov ecx, 0x1007d9f8
call fcn.1000358d
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x28], 0x160c
cmp dword [ebp - 0x28], 0x1871
jle 0x10017437
mov esi, edi
mov ecx, edi
mov dword [ebp - 0x18], edi
mov eax, esi
sar eax, cl
lea ecx, [ebp - 0x10c]
cdq
push edx
push eax
call fcn.10001a31
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1001740b
mov eax, dword [eax]
push eax
call fcn.1004b2d6
pop ecx
push edi
push ebx
lea ecx, [ebp - 0x10c]
call fcn.10001f3a
mov ecx, dword [ebp - 0x18]
inc ecx
mov dword [ebp - 0x18], ecx
cmp ecx, 0x1e6a
jl 0x100173ef
inc esi
cmp esi, 0x6459
jl 0x100173ea
cmp dword [ebp - 0x28], 0x12d0
jge 0x1001744b
push str.dcriimo_avhits_trbourjtw_rpaaxqduv_pnuwek
call fcn.1004b2d6
pop ecx
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x1c], edi
jmp 0x1001748d
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xd0], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x1001747c
sub esp, 0xc
call fcn.10017cee
mov ecx, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ebp - 0x14]
add esp, 0xc
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setne dl
imul eax, dword [ebp - 0x14]
sub edx, eax
sub edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
inc eax
add eax, edx
je 0x100174c6
mov eax, ebx
cmp dword [ebp - 0x14], edi
jne 0x100174c8
mov eax, edi
cmp eax, 0xe44142b9
mov eax, dword [ebp - 0x14]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
setge dl
xor ecx, ecx
add edx, dword [ebp - 0x20]
add edx, dword [ebp - 0x20]
imul edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
neg edx
cmp edx, eax
setl cl
sub esp, 0x14
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0xc8], eax
call fcn.10017a25
add esp, 0x14
xor dl, dl
mov ecx, 0x2a0b
push 0x4331
push 0x1007eb2d
call fcn.10017df3
pop ecx
pop ecx
mov eax, 0xfff7
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x18], 0x36eb
cmp dword [ebp - 0x18], 0x388f
jle 0x1001757a
mov esi, edi
mov ebx, esi
mov edi, 0x5f94
mov eax, ebx
mov ecx, 0x1007d9f8
cdq
push edx
push eax
call fcn.10001bd6
dec ebx
dec edi
jne 0x1001755b
inc esi
cmp esi, 0xd3a
jl 0x10017554
xor ebx, ebx
inc ebx
mov dword [ebp - 0x14], 0x923607a9
mov dword [ebp - 4], 4
cmp dword [ebp - 0x18], 0x347b
jge 0x100175a0
mov edx, str.mvpp_lzdzddiee_aeaqrqt_qcv_zpny_vsfdesfmm_etxyes_fzg_uggm_ziwkalb_takqtduh
mov ecx, 0x1007d9f8
call fcn.1000358d
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x18], 0x4a20a298
mov dword [ebp - 0x78], ebx
mov dword [ebp - 0x24], 0x3dda37bb
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x74], 0xab4456e3
mov dword [ebp - 0x6c], 0xea311c3f
mov dword [ebp - 0x14], edi
jmp 0x100175fa
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x68], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x100175f0
mov dword [ebp - 0x14], edi
jmp 0x10017615
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xe4], 0x9683648b
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10017604
mov dword [ebp - 0x1c], 3
cmp dword [ebp - 0x1c], edi
jl 0x10017911
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x18], 0x1ed9
cmp dword [ebp - 0x18], 0x5f6
jge 0x1001784c
lea eax, [ebp - 0x40]
push eax
push 0x1006aaec
call fcn.1004b532
mov eax, dword [ebp - 0x40]
pop ecx
pop ecx
test eax, eax
je 0x10017848
mov dword [ebp - 0x80], edi
mov dword [ebp - 0x70], edi
dec eax
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x3c]
push eax
push 0x1006aaec
call fcn.1004b532
mov eax, dword [ebp - 0x3c]
pop ecx
pop ecx
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x5c], edi
push ecx
add eax, eax
mov dword [ebp - 0x58], edi
push eax
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x54], edi
call fcn.10019776
mov dword [ebp - 4], 6
lea ecx, [ebp - 0x50]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x48], edi
lea esi, [eax*2 + 1]
lea eax, [ebp - 0x70]
push eax
lea eax, [esi + 0x1f]
shr eax, 5
push eax
call fcn.10019880
mov dword [ebp - 0x44], edi
push esi
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 7
call fcn.100197b2
mov ecx, dword [ebp - 0x3c]
mov al, bl
mov dword [ebp - 0x14], eax
mov esi, edi
mov dword [ebp - 0x18], edi
test ecx, ecx
jle 0x1001773e
mov edi, dword [ebp - 0x5c]
lea eax, [ebp - 0x60]
push eax
push 0x1006aaec
call fcn.1004b532
mov eax, dword [ebp - 0x60]
mov dword [edi + esi*8], eax
mov eax, ebx
mov esi, dword [ebp - 0x50]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x60]
mov edx, ecx
and ecx, 0x1f
shr edx, 5
shl eax, cl
push 0
test dword [esi + edx*4], eax
mov eax, dword [ebp - 0x14]
movzx eax, al
pop esi
cmovne eax, esi
mov esi, dword [ebp - 0x18]
mov dword [ebp - 0x14], eax
mov eax, ebx
shl eax, cl
mov ecx, dword [ebp - 0x50]
or dword [ecx + edx*4], eax
inc esi
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x18], esi
cmp esi, ecx
jl 0x100176e7
mov eax, dword [ebp - 0x14]
xor edi, edi
mov edx, edi
mov dword [ebp - 0x18], edx
test al, al
je 0x100177fd
mov esi, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x14]
add esi, 4
mov dword [ebp - 0x28], esi
cmp edx, ecx
jge 0x100177ca
mov esi, dword [esi - 4]
lea eax, [ecx + ecx]
inc esi
mov dword [ebp - 0x24], eax
cmp esi, eax
jg 0x100177a6
mov ecx, esi
mov eax, ebx
and ecx, 0x1f
mov edx, esi
shl eax, cl
mov ecx, dword [ebp - 0x50]
shr edx, 5
test dword [ecx + edx*4], eax
je 0x10017787
inc esi
cmp esi, dword [ebp - 0x24]
jle 0x10017769
jmp 0x100177a0
mov ecx, esi
mov eax, ebx
and ecx, 0x1f
mov edx, esi
shl eax, cl
mov ecx, dword [ebp - 0x50]
shr edx, 5
or dword [ecx + edx*4], eax
mov eax, dword [ebp - 0x28]
mov dword [eax], esi
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x28]
and dword [ebp - 0x18], 0
mov eax, dword [ebp - 0x14]
movzx eax, al
cmp dword [esi], edi
cmove eax, dword [ebp - 0x18]
inc edx
add esi, 8
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x28], esi
test al, al
jne 0x10017757
test al, al
je 0x100177fd
lea eax, [ecx + ecx]
mov esi, edi
test eax, eax
jle 0x100177f6
mov ebx, dword [ebp - 0x5c]
push dword [ebx + esi*4]
push str._ld
call fcn.1004b2d6
mov eax, dword [ebp - 0x3c]
inc esi
add eax, eax
pop ecx
pop ecx
cmp esi, eax
jl 0x100177da
xor ebx, ebx
inc ebx
push 0x1006a959
jmp 0x10017802
push 0x1006c464
call fcn.1004b701
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x44], edi
pop ecx
test eax, eax
je 0x10017822
push eax
call fcn.1004b447
pop ecx
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x48], edi
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x5c]
test eax, eax
je 0x1001783d
push eax
call fcn.1004b447
pop ecx
mov dword [ebp - 0x5c], edi
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x54], edi
mov eax, dword [ebp - 0x40]
test eax, eax
jne 0x10017667
dec eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x20], edi
jmp 0x10017862
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0xdc], 0xd00693e9
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
jl 0x10017851
push 0x64f0
push 0x274a
xor dl, dl
lea ecx, [ebp - 0x6c]
call fcn.1001930d
pop ecx
pop ecx
mov dword [ebp - 0x14], edi
jmp 0x100178ff
mov dword [ebp - 0x64], 0x75cf
mov dword [ebp - 0x38], edi
jmp 0x100178b7
mov eax, dword [ebp - 0x14]
xor edx, edx
mov ecx, dword [ebp + eax*4 - 0x68]
mov eax, dword [ebp - 0x14]
add ecx, dword [ebp + eax*4 - 0x9c]
mov eax, dword [ebp - 0x64]
cmp ecx, eax
mov eax, dword [ebp - 0x38]
setle dl
mov dword [ebp + eax*4 - 0xdc], edx
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 2
jle 0x1001788f
mov dword [ebp - 0x24], edi
cmp dword [ebp - 0x24], edi
jl 0x100178fc
lea eax, [ebp - 0x7c]
mov dword [ebp - 0x7c], 0xb8319b88
push eax
push 0x5665
lea eax, [ebp - 0x38]
xor dl, dl
push eax
lea eax, [ebp - 0x74]
mov ecx, 0x1f8e
push eax
lea eax, [ebp - 0x64]
push eax
sub esp, 0xc
lea eax, [ebp - 0x78]
push eax
call fcn.10016b21
add esp, 0x24
dec dword [ebp - 0x24]
jns 0x100178c5
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jle 0x10017883
dec dword [ebp - 0x1c]
jns 0x1001762b
mov dword [ebp - 0x18], 0xb37
cmp dword [ebp - 0x18], 0xdda
jle 0x10017948
mov esi, edi
mov ebx, edi
mov eax, ebx
mov ecx, 0x1007d9f8
and eax, esi
cdq
push edx
push eax
call fcn.10001bd6
inc ebx
cmp ebx, 0x5730
jl 0x10017925
inc esi
cmp esi, 0x513f
jl 0x10017923
mov eax, dword [0x100e06a0]
cmp eax, 0x270
jne 0x10017994
mov edx, 0x100e06a8
mov ecx, dword [edx - 4]
xor ecx, dword [edx]
and ecx, 0x7fffffff
xor ecx, dword [edx - 4]
mov eax, ecx
and al, 1
movzx eax, al
neg eax
sbb eax, eax
shr ecx, 1
and eax, 0x9908b0df
xor eax, dword [edx + 0x630]
xor eax, ecx
mov dword [edx + 0x9bc], eax
add edx, 4
cmp edx, 0x100e1068
jl 0x10017959
jmp 0x100179a0
cmp eax, 0x4e0
jb 0x100179a5
call fcn.100196b6
mov eax, dword [0x100e06a0]
mov edx, dword [eax*4 + 0x100e06a4]
inc eax
mov dword [0x100e06a0], eax
mov eax, edx
shr eax, 0xb
and eax, dword [0x100e1a24]
xor edx, eax
mov dword [ebp - 4], 8
mov eax, edx
and eax, 0xff3a58ad
shl eax, 7
xor edx, eax
mov eax, edx
and eax, 0xffffdf8c
shl eax, 0xf
xor edx, eax
mov eax, dword [ebp + 0x10]
mov ecx, edx
shr ecx, 0x12
xor ecx, edx
cmp dword [ebp - 0x18], 0xaa2
mov dword [eax], ecx
jge 0x10016f7c
mov edx, str.qwqqcjgyb_qcdrnc_jgzvs_vasarg
mov ecx, 0x1007d9f8
call fcn.1000358d
jmp 0x10016f7c