Function at 0x1001d443
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x1005eae2
call fcn.1005dc20
sub esp, 0x168
cmp byte [ebp + 0xc], 0
mov eax, edx
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x60], edx
je 0x1001d47d
push ecx
push ecx
lea eax, [ebp - 0x4a]
mov byte [ebp - 0x4a], 0
push eax
mov dl, 1
call fcn.1001a952
add esp, 0xc
jmp 0x1001e16a
mov dword [ebp - 0x28], 0x75b57fd5
xor ebx, ebx
push 0xfffffffffffffff6
pop edi
mov dword [ebp - 0x58], edi
or esi, 0xffffffff
mov dword [ebp - 0x18], 0x95998ab5
mov dword [ebp - 0x2c], 0x795ed7c6
mov dword [ebp - 0x20], 0xca955a63
mov dword [ebp - 0x34], 6
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x28], ebx
cmp dword [ebp - 0x28], 0xffffffe8
jge 0x1001d728
mov dword [ebp - 0x30], 0x377cc424
xor edx, edx
mov dword [ebp - 0x24], 0x70012af0
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x2c], 1
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x2c]
cmp ecx, eax
setne dl
xor ecx, ecx
add edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
cmp edx, eax
setge cl
cmp ecx, dword [ebp - 0x30]
je 0x1001d504
cmp dword [ebp - 0x18], ebx
jne 0x1001d504
mov eax, ebx
jmp 0x1001d507
xor eax, eax
inc eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x58]
imul eax, eax, 0xf219
cmp dword [ebp - 0x28], eax
jg 0x1001d5b1
mov dword [ebp - 0x24], 6
mov dword [ebp - 0x18], ebx
jmp 0x1001d53e
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xe4], esi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x1001d531
mov eax, dword [ebp - 0xdc]
xor edx, edx
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x58]
cmp ecx, eax
mov ecx, dword [ebp - 0xe0]
mov eax, dword [ebp - 0x24]
setg dl
cmp eax, ecx
push 0
pop eax
setne al
xor ecx, ecx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x2c]
cmp edx, eax
mov eax, dword [ebp - 0x18]
setle cl
sub eax, ecx
neg eax
sbb eax, eax
xor edx, edx
inc eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0xdc]
cmp eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x30]
setg dl
xor ecx, ecx
cmp edx, eax
setle cl
or esi, 0xffffffff
mov dword [ebp - 0x20], ecx
jmp 0x1001d6f3
mov dword [ebp - 0x44], esi
lea ecx, [ebp - 0xd8]
push 2
call fcn.10005147
push 0x2712
lea eax, [ebp - 0xd8]
mov dword [ebp - 4], ebx
push eax
lea eax, [ebp - 0x78]
mov dl, 1
push eax
push ebx
mov ecx, 0x5894
call fcn.1001d238
mov edx, dword [ebp - 0x34]
add esp, 0x10
mov eax, dword [ebp - 0x44]
dec edx
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
setge cl
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x20], ebx
je 0x1001d628
push ebx
push 1
mov edx, 0x4ac6
xor cl, cl
call fcn.1001cb86
push ebx
lea eax, [ebp - 0x58]
mov dl, 1
push ebx
push eax
mov ecx, 0x1e5e
call fcn.1001c748
add esp, 0x14
jmp 0x1001d6e0
mov dword [ebp - 0x24], 0x7c93
cmp dword [ebp - 0x24], 0x7ff1
jle 0x1001d6b6
mov dword [ebp - 0x18], ebx
mov ecx, ebx
mov dword [ebp - 0x30], ebx
mov edi, ebx
mov dword [ebp - 0x2c], ebx
mov eax, edi
cdq
idiv dword [ebp - 0x2c]
and edx, ecx
lea ecx, [ebp - 0x144]
and edx, dword [ebp - 0x18]
mov eax, edx
cdq
push edx
push eax
call fcn.10001aaa
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1001d66a
mov eax, dword [eax]
push eax
call fcn.10046fe3
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x144]
call fcn.100055ae
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x2c], eax
cmp eax, 0x3f68
jl 0x1001d645
inc edi
cmp edi, 0x234
jl 0x1001d642
inc ecx
mov dword [ebp - 0x30], ecx
cmp ecx, 0x3a3d
jl 0x1001d640
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp eax, 0x7de9
jl 0x1001d63b
push 0xfffffffffffffff6
pop edi
mov dword [ebp - 0x70], 0xfffffff9
cmp dword [ebp - 0x24], 0x7b14
jge 0x1001d6d1
push str.zfrrk_xqnspjdk_jdy_trbqgr_lnt_assalyed_rslklp_zzlmenaau_tuog
call fcn.10046fe3
pop ecx
push ecx
xor dl, dl
mov dword [ebp - 4], ebx
lea ecx, [ebp - 0x70]
call fcn.1001d3fa
pop ecx
mov dword [ebp - 4], esi
lea ecx, [ebp - 0xd8]
cmp dword [ebp - 0x34], ebx
jne 0x1001d723
call fcn.100051ca
push 0x7a9e
push 1
push 0x39a5
lea eax, [ebp - 0x4c]
mov byte [ebp - 0x4c], bl
push eax
push 0x3ead
push ebx
mov dl, 1
mov ecx, 0x6ff9
call fcn.1001a048
add esp, 0x18
dec dword [ebp - 0x28]
jmp 0x1001d4b1
call fcn.100051ca
mov dword [ebp - 0x2c], 0x4d
cmp dword [ebp - 0x2c], 0x204
jle 0x1001d7ad
mov edi, ebx
mov dword [ebp - 0x34], ebx
mov eax, ebx
mov dword [ebp - 0x24], ebx
mov edx, edi
mov dword [ebp - 0x44], ebx
mov ecx, eax
mov edi, ebx
shl edx, cl
mov dword [ebp - 0x30], edx
mov eax, edx
lea ecx, [ebp - 0x15c]
or eax, edi
cdq
push edx
push eax
call fcn.10001aaa
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1001d76c
mov eax, dword [eax]
push eax
call fcn.10046fe3
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x15c]
call fcn.100055ae
mov edx, dword [ebp - 0x30]
inc edi
cmp edi, 0x5f9a
jl 0x1001d750
mov eax, dword [ebp - 0x24]
mov edi, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x24], eax
cmp eax, 0x5bfb
jl 0x1001d742
inc edi
mov dword [ebp - 0x34], edi
cmp edi, 0x18d5
jl 0x1001d73d
push 0xfffffffffffffff6
pop edi
mov dword [ebp - 0x64], esi
cmp dword [ebp - 0x2c], 0xfffffcb9
jge 0x1001d7c4
push str.itjq_kvyi_nhwtp_htisdzw_owxghhb
call fcn.10046fe3
pop ecx
mov dword [ebp - 4], esi
lea eax, [ebp - 0xfc]
push dword [ebp - 0x78]
movdqa xmm0, xmmword [0x1006c6f0]
lea ecx, [ebp - 0xb4]
push eax
lea eax, [ebp - 0x10c]
mov dword [ebp - 0x6c], 0x816210b9
push eax
push ebx
movdqu xmmword [ebp - 0x10c], xmm0
mov dword [ebp - 0xb4], ebx
mov dword [ebp - 0xb0], ebx
mov dword [ebp - 0xac], ebx
call fcn.100098a4
push ebx
lea eax, [ebp - 0x6c]
mov dword [ebp - 4], 5
push eax
push 0x35e5
lea eax, [ebp - 0x64]
mov dword [ebp - 0x44], ebx
push eax
push ecx
mov dword [ebp - 0x44], 0x60a22152
mov edx, 0x992
mov ecx, 0x5513
call fcn.1001ab4e
add esp, 0xc
lea eax, [ebp - 0x64]
mov ecx, 0x3874
push eax
push ebx
push 0x1968
lea eax, [ebp - 0x6c]
push eax
push 0x12b
call fcn.100197f4
add esp, 0x1c
mov dword [ebp - 4], esi
lea ecx, [ebp - 0xb4]
call fcn.100051ca
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x1c], 4
mov dword [ebp - 0x2c], 0x6d9e96bb
mov dword [ebp - 0x18], ebx
jmp 0x1001d896
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x50], 9
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 1
jl 0x1001d888
mov dword [ebp - 0x1c], ebx
jmp 0x1001da7c
push 2
lea ecx, [ebp - 0xa8]
call fcn.10005147
mov dword [ebp - 4], 6
mov dword [ebp - 0x24], 0x264a3a20
mov dword [ebp - 0x24], 0x3adab8f5
mov dword [ebp - 0x24], 0xbaf34c2
mov dword [ebp - 0xf4], ebx
mov dword [ebp - 0xf0], ebx
mov dword [ebp - 0xec], ebx
mov dword [ebp - 0xe8], ebx
mov dword [ebp - 0x54], ebx
jmp 0x1001d8fb
mov eax, dword [ebp - 0x54]
mov dword [ebp + eax*4 - 0x11c], 2
inc dword [ebp - 0x54]
cmp dword [ebp - 0x54], 4
jl 0x1001d8ea
push 0x28a6
lea eax, [ebp - 0xa8]
mov dl, 1
push eax
lea eax, [ebp - 0x54]
push eax
push ecx
mov ecx, 0x233f
call fcn.1001956a
push 0x3684
push 0x65aa
push 0x3353
push 1
push ebx
lea eax, [ebp - 0x4b]
mov byte [ebp - 0x4b], bl
push 0x4c95
push eax
mov dl, 1
mov ecx, 0x62e2
call fcn.1001b949
mov eax, dword [ebp - 0x1c]
xor edx, edx
add esp, 0x2c
mov ecx, dword [ebp + eax*4 - 0x50]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
sete dl
xor eax, eax
cmp edx, esi
setne al
inc eax
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x11c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x20], 0xc298
mov dword [ebp - 0x18], ebx
jmp 0x1001d992
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x74], 0xa6696b49
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 1
jl 0x1001d984
push 4
pop ecx
mov dword [ebp - 0x11c], ecx
mov edx, ecx
mov eax, dword [ebp - 0x20]
sub edx, eax
sub edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0xa8]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
mov dword [eax], edx
mov eax, dword [ebp - 0x1c]
cmp eax, edx
mov eax, dword [ebp - 0x20]
setg cl
xor edx, edx
cmp ecx, eax
setge dl
mov dword [ebp - 0x74], edx
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x24], ebx
je 0x1001d9e6
mov eax, dword [ebp - 0xa8]
cmp dword [eax], ebx
je 0x1001d9e6
xor ecx, ecx
inc ecx
jmp 0x1001d9e8
mov ecx, ebx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x50]
sub ecx, eax
sub ecx, 0x588d
jne 0x1001da02
cmp dword [ebp - 0x2c], ebx
jne 0x1001da02
mov edx, ebx
jmp 0x1001da05
xor edx, edx
inc edx
mov eax, dword [ebp - 0x50]
xor ecx, ecx
cmp edx, eax
setg cl
cmp ecx, esi
sbb eax, eax
xor edx, edx
neg eax
lea ecx, [eax - 0xfffa]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
setl dl
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp + eax*4 - 0x50]
mov eax, dword [ebp - 0x24]
add eax, 0x10c44a87
cmp eax, ecx
je 0x1001da3e
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
cmp eax, 1
mov eax, dword [ebp - 0x1c]
setg cl
sub ecx, dword [ebp + eax*4 - 0x50]
neg ecx
sbb ecx, ecx
neg ecx
mov dword [ebp - 0x24], ecx
lea ecx, [ebp - 0xa8]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0xec], eax
mov dword [ebp - 4], esi
call fcn.100051ca
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jle 0x1001d8a4
push 0x258f
push 0xe9f
push ebx
call fcn.1001a68e
mov dword [ebp - 0x20], 0x49fc
add esp, 0xc
cmp dword [ebp - 0x20], 0x4d9a
jle 0x1001db0a
mov dword [ebp - 0x18], ebx
mov ecx, ebx
mov dword [ebp - 0x30], 0x43a4
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x34], 0x5681
mov edi, ebx
mov ebx, dword [ebp - 0x24]
mov eax, ebx
mov ecx, 0x100792d8
xor eax, edi
cdq
push edx
push eax
call fcn.10004ea6
inc edi
cmp edi, 0x4c9b
jl 0x1001dac6
inc ebx
dec dword [ebp - 0x34]
push 0
mov dword [ebp - 0x24], ebx
pop ebx
jne 0x1001dac1
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x18]
add ecx, eax
dec dword [ebp - 0x30]
mov dword [ebp - 0x2c], ecx
jne 0x1001dab7
inc eax
mov dword [ebp - 0x18], eax
cmp eax, 0x532e
jl 0x1001daab
push 0xfffffffffffffff6
pop edi
mov dword [ebp - 4], 7
cmp dword [ebp - 0x20], 0x4730
jge 0x1001db53
mov edx, str.csndh_dpg_rtxjmd_kaosxbsbl
mov ecx, 0x100792d8
call fcn.10008ec9
jmp 0x1001db53
mov dword [ebp - 4], esi
mov dword [ebp - 0x1c], 0xfffffffd
mov dword [ebp - 0x28], 0xad9bacc5
mov dword [ebp - 0x18], 1
mov dword [ebp - 0x40], 0xda19ae86
mov dword [ebp - 0x20], ebx
jmp 0x1001db85
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x68], 0xe74bb9ce
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 1
jl 0x1001db77
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x1c]
sub edx, eax
mov eax, dword [ebp - 0x1c]
sub edx, 0xfa8f90a3
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
setle cl
sub edx, ecx
xor ecx, ecx
cmp edx, eax
setg cl
xor eax, eax
cmp ecx, 0xbe8e
setle al
sub eax, 0xcf33
je 0x1001dca4
mov dword [ebp - 0x20], 0x6a7609fa
mov dword [ebp - 0x2c], 2
mov dword [ebp - 0x30], 1
mov dword [ebp - 0x24], 0x61a7160c
mov dword [ebp - 0x28], ebx
mov eax, dword [ebp - 0x20]
sub edi, eax
neg edi
sbb edi, edi
inc edi
sub edi, dword [ebp - 0x20]
neg edi
sbb edi, edi
inc edi
mov dword [ebp - 0x30], edi
je 0x1001dc15
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
imul eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x18]
mov dword [ebp - 0x40], eax
je 0x1001dc33
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x28]
imul edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
cmp edx, eax
setg cl
xor edx, edx
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x24], 9
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x68]
cmp ecx, eax
mov eax, dword [ebp - 0x30]
setg dl
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x28], ecx
xor ecx, ecx
mov edx, dword [ebp - 0x30]
imul edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
cmp edx, eax
setl cl
cmp ecx, dword [ebp - 0x20]
je 0x1001dc99
cmp dword [ebp - 0x28], ebx
jne 0x1001dc99
mov eax, ebx
jmp 0x1001dc9c
xor eax, eax
inc eax
mov dword [ebp - 0x2c], eax
jmp 0x1001dd89
push 4
lea ecx, [ebp - 0xc0]
call fcn.10005147
lea eax, [ebp - 0x84]
mov dword [ebp - 4], 9
push eax
push 0x42a9
push 0x3cb9
push ecx
xor dl, dl
lea ecx, [ebp - 0xc0]
call fcn.1001956a
lea eax, [ebp - 0xc0]
mov edx, 0x6837
push eax
call fcn.1001e58b
mov dword [ebp - 0x34], 0x48fd
add esp, 0x14
cmp dword [ebp - 0x34], 0x4c69
jle 0x1001dd4b
mov edi, ebx
mov ecx, ebx
mov dword [ebp - 0x24], ebx
mov eax, edi
shl eax, cl
lea ecx, [ebp - 0x174]
cdq
push edx
push eax
call fcn.10001aaa
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1001dd1e
mov eax, dword [eax]
push eax
call fcn.10046fe3
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x174]
call fcn.100055ae
mov ecx, dword [ebp - 0x24]
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 0x5a34
jl 0x1001dd02
inc edi
cmp edi, 0x2ee1
jl 0x1001dcfd
push ecx
lea eax, [ebp - 0xc0]
xor dl, dl
push eax
push 0x42db
mov ecx, 0x5c00
call fcn.1001970e
add esp, 0xc
cmp dword [ebp - 0x34], 0x46b7
jge 0x1001dd7b
push str.oevlvhjv_ouady_nvqdpyox_ybklrlpu_jyzgzr_bpopz_dwwymebiu_hhcjah_rfqj_cyt
call fcn.10046fe3
pop ecx
lea ecx, [ebp - 0xc0]
mov dword [ebp - 4], esi
call fcn.100051ca
push ecx
push ecx
push ebx
mov edx, 0x1275
mov byte [ebp - 0x49], bl
lea ecx, [ebp - 0x49]
call fcn.1001c183
add esp, 0xc
mov dword [ebp - 0x24], ebx
push 2
pop edi
mov dword [ebp - 0x28], 0xd5de1fc6
mov dword [ebp - 0x20], 1
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x2c], 0x1cb45490
mov dword [ebp - 0x44], 0xca4024ff
mov dword [ebp - 0x18], ebx
jmp 0x1001ddda
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x3c], 0x9b6917ab
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x1001ddcc
mov eax, dword [ebp - 0x3c]
xor edx, edx
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x28]
cmp eax, ecx
mov eax, dword [ebp - 0x3c]
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x20]
setne cl
imul ecx, ecx, 0xdefc
sub ecx, eax
mov dword [ebp - 0x1c], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
cmp eax, 0xd1cc
mov eax, dword [ebp - 0x3c]
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setl dl
xor ecx, ecx
cmp edx, eax
setne cl
xor eax, eax
cmp ecx, 0x67dcc35
setne al
sub eax, 5
imul eax, dword [ebp - 0x3c]
test eax, eax
je 0x1001dfc5
push 1
lea ecx, [ebp - 0x9c]
call fcn.10005147
push 4
lea ecx, [ebp - 0xcc]
mov dword [ebp - 4], 0xc
call fcn.10005147
mov byte [ebp - 4], 0xd
mov dword [ebp - 0x40], 0xfffffffe
mov dword [ebp - 0x48], ebx
jmp 0x1001dea2
mov eax, dword [ebp - 0x48]
mov dword [ebp + eax*4 - 0x80], 9
inc dword [ebp - 0x48]
cmp dword [ebp - 0x48], edi
jl 0x1001de94
lea eax, [ebp - 0x9c]
push eax
push ebx
lea eax, [ebp - 0x48]
push eax
push ecx
push 0x6b6f
push 0x7d60
call fcn.1001c093
push 0x558f
lea eax, [ebp - 0xcc]
mov edx, 0x6b33
push eax
push 0x69e
push ebx
push 0x5978
push 0x4311
lea eax, [ebp - 0x48]
mov cl, 1
push 1
push eax
call fcn.1001a9fd
mov eax, dword [ebp - 0x80]
add esp, 0x38
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x80], ecx
mov edx, dword [eax]
mov eax, dword [ebp - 0x1c]
imul edx, ecx
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x3c]
setle cl
xor edx, edx
cmp ecx, 0x2fa57a88
setl dl
sub edx, eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x40], edx
xor edx, edx
cmp dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x28]
setge dl
xor ecx, ecx
cmp eax, edx
mov edx, dword [ebp - 0x9c]
setne cl
xor eax, eax
cmp ecx, dword [edx]
setle al
xor ecx, ecx
cmp eax, 6
mov eax, dword [ebp - 0xcc]
setne cl
mov dword [eax + 0xc], ecx
mov esi, dword [edx]
xor edx, edx
mov eax, dword [ebp - 0x34]
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setge dl
xor ecx, ecx
dec edx
cmp edx, eax
mov eax, dword [ebp - 0x1c]
setle cl
sub eax, ecx
xor ecx, ecx
cmp eax, 0xffffffff
mov eax, dword [ebp - 0x28]
setne cl
xor edx, edx
cmp eax, ecx
setge dl
xor ecx, ecx
sub edx, esi
cmp edx, esi
setne cl
add ecx, 0x485393f1
xor eax, eax
cmp ecx, esi
setl al
sub eax, esi
jne 0x1001dfa3
mov eax, dword [ebp - 0x80]
mov eax, dword [ebp - 0x2c]
lea ecx, [ebp - 0xcc]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x40], eax
call fcn.100051ca
or esi, 0xffffffff
lea ecx, [ebp - 0x9c]
jmp 0x1001e09b
push dword [ebp - 0x84]
lea eax, [ebp - 0x11c]
mov dword [ebp - 0x30], 0x2f01
push eax
lea eax, [ebp - 0x12c]
mov dword [ebp - 0x90], ebx
push eax
xorps xmm0, xmm0
mov dword [ebp - 0x8c], ebx
push ebx
lea ecx, [ebp - 0x90]
mov dword [ebp - 0x88], ebx
movdqu xmmword [ebp - 0x12c], xmm0
call fcn.100098a4
mov dword [ebp - 4], 0xe
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x18], ebx
jmp 0x1001e025
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xfc], esi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x1001e018
mov dword [ebp - 0x1c], 1
cmp dword [ebp - 0x1c], ebx
jl 0x1001e051
push ecx
push 0x1a91
push ebx
call fcn.1001a211
mov eax, dword [ebp - 0x1c]
add esp, 0xc
mov eax, dword [ebp + eax*4 - 0x3c]
dec dword [ebp - 0x1c]
jns 0x1001e036
cmp dword [ebp - 0x30], ebx
je 0x1001e072
mov eax, dword [ebp - 0x30]
sub eax, dword [ebp - 0x34]
neg eax
sbb eax, eax
inc eax
sub eax, 0x39bced0d
je 0x1001e072
cmp dword [ebp - 0x30], ebx
je 0x1001e072
xor edx, edx
inc edx
jmp 0x1001e074
mov edx, ebx
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x90]
mov dword [eax + 0xc], ecx
lea ecx, [ebp - 0x90]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0xfc], edx
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x40], eax
mov dword [ebp - 4], esi
call fcn.100051ca
mov eax, dword [ebp - 0x34]
cmp dword [ebp - 0x2c], ebx
jne 0x1001e0e3
mov eax, dword [ebp - 0x38]
add eax, dword [ebp - 0x28]
je 0x1001e0b6
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x38]
xor edx, edx
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
imul eax, dword [ebp - 0x28]
cmp eax, 0x5a18187e
mov eax, dword [ebp - 0x2c]
setg dl
xor ecx, ecx
cmp edx, eax
setge cl
cmp dword [ebp - 0x1c], ecx
jg 0x1001e0df
mov eax, dword [ebp - 0x1c]
mov eax, ebx
jmp 0x1001e0e6
xor eax, eax
inc eax
mov edx, dword [ebp - 0x3c]
xor ecx, ecx
imul edx, eax
mov eax, dword [ebp - 0x3c]
cmp edx, eax
setl cl
xor edx, edx
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x1c]
cmp eax, ecx
mov eax, dword [ebp - 0x38]
setl dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x28]
setne cl
sub ecx, eax
je 0x1001e11c
cmp dword [ebp - 0x3c], ebx
jne 0x1001e125
cmp dword [ebp - 0x44], ebx
jne 0x1001e125
mov edx, ebx
jmp 0x1001e128
xor edx, edx
inc edx
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
sub edx, eax
mov eax, dword [ebp - 0x20]
cmp edx, eax
mov eax, dword [ebp - 0x24]
mov dl, 0x20
setl cl
add ecx, 0xb00f
mov dword [ebp - 0x44], ecx
mov cl, byte [ebp + eax - 0x5c]
call fcn.100228bd
mov ecx, dword [ebp - 0x24]
mov byte [ebp + ecx - 0x5c], al
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 4
jb 0x1001dda5
mov ecx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x5c]
mov dword [ecx], eax
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret