Function at 0x10015067
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x10061496
call fcn.10060810
sub esp, 0x1e0
cmp byte [ebp + 0x14], 0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov esi, ecx
je 0x100150a7
mov edx, dword [ebp + 0xc]
mov dword [edx], 0
jmp 0x1001509d
mov ecx, dword [edx]
mov eax, dword [esi]
mov dword [eax + ecx*4], 0xb3198a8f
inc dword [edx]
cmp dword [edx], 4
jl 0x10015090
jmp 0x10016036
mov eax, dword [ebp + 0x18]
xor ebx, ebx
mov edi, dword [ebp + 0x10]
mov dword [ebp - 0x74], edx
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x60], 0xb0f7
push 3
mov dword [ebp - 0x44], 0xfffffffd
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x1c], ebx
pop esi
jmp 0x100150df
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x8c], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x100150ce
push 1
push ecx
push ecx
push 0x3dce
push ecx
lea eax, [ebp - 0x44]
push eax
lea edx, [ebp - 0x60]
call fcn.10014707
add esp, 0x18
mov dword [ebp - 0x44], 2
cmp dword [ebp - 0x44], ebx
jl 0x10015381
mov dword [ebp - 0x48], 0x76270e7a
xor edx, edx
mov dword [ebp - 0x4c], 7
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp + eax*4 - 0x8c]
mov eax, dword [ebp - 0x84]
cmp ecx, eax
mov eax, dword [ebp - 0x44]
sete dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x8c]
cmp edx, eax
mov eax, dword [ebp - 0x44]
setg cl
xor edx, edx
mov eax, dword [ebp + eax*4 - 0x8c]
cmp eax, ecx
mov eax, dword [ebp - 0x44]
setge dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x8c]
cmp edx, eax
mov eax, dword [ebp - 0x44]
setle cl
mov dword [ebp + eax*4 - 0x8c], ecx
mov dword [ebp - 0x60], ebx
cmp dword [ebp - 0x60], 2
jg 0x10015379
push dword [ebp - 0x90]
movdqa xmm0, xmmword [0x1006f800]
lea eax, [ebp - 0x180]
push eax
lea eax, [ebp - 0x190]
mov dword [ebp - 0x38], 5
push eax
mov dword [ebp - 0x38], 0xdc41fd9d
lea ecx, [ebp - 0xfc]
push ebx
movdqu xmmword [ebp - 0x190], xmm0
mov dword [ebp - 0xfc], ebx
mov dword [ebp - 0xf8], ebx
mov dword [ebp - 0xf4], ebx
call fcn.100127e2
push esi
lea ecx, [ebp - 0x13c]
mov dword [ebp - 4], ebx
call fcn.1000f280
mov byte [ebp - 4], 1
mov dword [ebp - 0x68], ebx
jmp 0x100151f5
mov eax, dword [ebp - 0x68]
mov dword [ebp + eax*4 - 0x98], 0x927213ec
inc dword [ebp - 0x68]
cmp dword [ebp - 0x68], 2
jl 0x100151e4
lea eax, [ebp - 0x13c]
push eax
push ecx
lea ecx, [ebp - 0x68]
call fcn.10016a70
pop ecx
mov dword [ebp - 0x98], 2
pop ecx
cmp dword [ebp - 0x98], ebx
jl 0x1001524f
push 0x1216
push 0x31aa
lea eax, [ebp - 0x13c]
mov dl, 1
push eax
push 1
push ebx
push 0x135c
mov ecx, 0x2a8b
call fcn.10018141
add esp, 0x18
dec dword [ebp - 0x98]
jns 0x1001521f
mov dword [ebp - 0x20], 0x5412
cmp dword [ebp - 0x20], 0x564f
jle 0x100152ef
push 0xd7d
push ebx
push 0xeea
push 0x14c9
call dword [sym.imp.USER32.dll_GetDlgItemTextW]
mov eax, ebx
mov dword [ebp - 0x1c], ebx
mov esi, ebx
mov edi, ebx
mov ecx, ebx
mov dword [ebp - 0x40], 0x7f39
mov dword [ebp - 0x24], ecx
add eax, esi
and eax, ecx
lea ecx, [ebp - 0x1c4]
cdq
push edx
push eax
call fcn.10001acf
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x100152aa
mov eax, dword [eax]
push eax
call fcn.10049e23
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x1c4]
call fcn.1000fa8e
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
add ecx, edi
dec dword [ebp - 0x40]
mov dword [ebp - 0x24], ecx
jne 0x1001528e
inc edi
cmp edi, 0xeee
jl 0x10015282
inc esi
cmp esi, 0x4e60
jl 0x10015280
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, 0x2a48
jl 0x1001527e
push 3
pop esi
mov eax, dword [ebp - 0x48]
mov ecx, 0x4b693050
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x84]
sub ecx, eax
je 0x1001530a
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
xor ecx, ecx
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp + eax*4 - 0x8c]
test eax, eax
mov eax, dword [ebp - 0x98]
setne cl
add eax, ecx
cmp eax, 0xffff
sbb eax, eax
xor ecx, ecx
neg eax
cmp eax, 0x70f9
mov eax, dword [ebp - 0x60]
setl cl
mov dword [ebp + eax*4 - 0x8c], ecx
cmp dword [ebp - 0x20], 0x50fd
jge 0x10015357
push str.bogqtb_pcre_yeidyzn_mkcvg_hsdgbfbkm
call fcn.10049e23
pop ecx
lea ecx, [ebp - 0x13c]
call fcn.1000f303
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xfc]
call fcn.1000f303
inc dword [ebp - 0x60]
jmp 0x10015172
dec dword [ebp - 0x44]
jmp 0x10015104
xor eax, eax
mov dword [ebp - 0xd0], 7
mov dword [ebp - 0xd4], ebx
mov word [ebp - 0xe4], ax
mov dword [ebp - 4], 4
lea ecx, [ebp - 0x148]
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x4c], ebx
push 2
call fcn.1000f280
push 0x3282
lea eax, [ebp - 0x148]
mov byte [ebp - 4], 5
push eax
push 0x2343
push ebx
xor dl, dl
lea ecx, [ebp - 0xc0]
call fcn.100135bb
mov dword [ebp - 0x48], 5
add esp, 0x10
mov dword [ebp - 0x1c], 0x98dc509c
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
je 0x1001542a
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x4c], 1
cmp dword [ebp - 0x4c], 0x8482
jg 0x1001540f
cmp dword [ebp - 0x1c], ebx
jne 0x1001540f
mov ecx, ebx
jmp 0x10015412
xor ecx, ecx
inc ecx
xor eax, eax
cmp ecx, 0x72585faf
setge al
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
je 0x1001542a
xor ecx, ecx
inc ecx
jmp 0x1001542c
mov ecx, ebx
mov eax, dword [ebp - 0x48]
imul eax, ecx
test eax, eax
je 0x1001547a
push ecx
lea eax, [ebp - 0x59]
mov byte [ebp - 0x59], bl
push eax
push ecx
push 0x37f5
xor cl, cl
call fcn.1001460e
mov byte [ebp - 0x39], bl
add esp, 0x10
cmp byte [ebp - 0x39], 0
je 0x100154bc
push 0x671c
push ebx
push 1
push 0x2dd5
push 0x2406
mov dl, 1
mov ecx, 0x1d1b
call fcn.100142b4
add esp, 0x14
jmp 0x100154bc
mov dword [ebp - 0x1c], ebx
jmp 0x10015490
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1ac], 0xc8400b8f
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x1001547f
push 0x71dd
push 0x62da
push ebx
xor dl, dl
mov cl, 1
call fcn.10013d80
mov eax, dword [ebp - 0x148]
add esp, 0xc
mov eax, dword [eax + 4]
mov dword [ebp - 0x1a0], eax
mov dword [ebp - 0x4c], ebx
lea ecx, [ebp - 0x148]
mov byte [ebp - 4], 4
call fcn.1000f303
mov eax, dword [ebp - 0x80]
cmp eax, dword [ebp - 0x74]
ja 0x1001582c
mov edi, dword [ebp + 0x10]
mov dword [ebp - 0x20], 0x1928c176
mov dword [ebp - 0x48], 0x230b63e9
mov dword [ebp - 0x30], 0xfffffff7
mov dword [ebp - 0x38], 0x807c1abd
mov dword [ebp - 0x2c], 0x8491f199
mov dword [ebp - 0x34], 1
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x20], 0x12
cmp dword [ebp - 0x20], 0xd
jg 0x10015813
mov dword [ebp - 0x18], 4
mov dword [ebp - 0x9c], 0xffffffff
mov dword [ebp - 0xb4], 0xfffffff7
mov dword [ebp - 0x38], 0x6f62939
mov dword [ebp - 0x78], 1
mov dword [ebp - 0x40], 0x61f2
cmp dword [ebp - 0x40], 0x65aa
jle 0x1001559f
mov esi, ebx
mov edi, ebx
mov dword [ebp - 0x24], ebx
mov ebx, edi
mov edi, 0x7b33
mov eax, ebx
mov ecx, 0x1007d358
or eax, esi
cdq
push edx
push eax
call fcn.1000ef91
dec ebx
dec edi
jne 0x10015562
mov edi, dword [ebp - 0x24]
inc edi
mov dword [ebp - 0x24], edi
cmp edi, 0x2d39
jl 0x1001555b
inc esi
push 0
pop ebx
cmp esi, 0x3f2e
jl 0x10015556
push ebx
call dword [sym.imp.USER32.dll_DestroyAcceleratorTable]
mov edi, dword [ebp + 0x10]
push 3
pop esi
mov dword [ebp - 0x24], 0xcc0c7fd5
mov byte [ebp - 4], 6
cmp dword [ebp - 0x40], 0x60e5
jge 0x100155e9
mov edx, str.kdmtlqho_epskwvvoy_yycew
mov ecx, 0x1007d358
call fcn.10011e0c
jmp 0x100155e9
mov dword [ebp - 4], 4
mov dword [ebp - 0x4c], 6
mov dword [ebp - 0x40], 0x3bc6c2db
mov dword [ebp - 0x50], 0x32ba
mov dword [ebp - 0x78], ebx
mov dword [ebp - 0x18], ebx
jmp 0x10015802
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x28], 0x2d8c20e5
mov dword [ebp - 0x30], 0x75d7
mov dword [ebp - 0x2c], ebx
jmp 0x1001563b
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0xa8], 6
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], esi
jl 0x1001562a
cmp dword [ebp - 0x20], ebx
jne 0x100156cc
cmp dword [ebp - 0x1c], ebx
jne 0x1001567c
inc dword [ebp - 0x24]
je 0x10015656
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x4c]
xor edx, edx
mov eax, dword [ebp - 0x48]
cmp ecx, eax
mov eax, dword [ebp - 0x34]
setg dl
add eax, 0xa9d707d8
add eax, edx
imul eax, dword [ebp - 0x9c]
test eax, eax
jne 0x1001567c
mov eax, ebx
jmp 0x1001567f
xor eax, eax
inc eax
xor edx, edx
cmp eax, 0x657a772b
setne dl
xor ecx, ecx
sub edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xa4]
add edx, 0x7b249e3c
cmp edx, eax
setl cl
xor eax, eax
cmp ecx, 1
setge al
xor edx, edx
cmp eax, 0x2235
mov eax, dword [ebp - 0x4c]
setl dl
xor ecx, ecx
cmp edx, eax
setle cl
cmp ecx, dword [ebp - 0xa4]
jle 0x100156c6
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x9c]
mov eax, dword [ebp - 0xb4]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x78]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0xa8], eax
neg eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], ebx
je 0x1001570b
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x30], eax
jmp 0x100157ff
push 4
lea ecx, [ebp - 0x160]
call fcn.1000f280
push 0x6f38
push ebx
push 0x20ea
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 8
push eax
lea eax, [ebp - 0x160]
mov dword [ebp - 0x30], 0xfffffffd
push eax
mov dl, 1
xor cl, cl
call fcn.10014e14
add esp, 0x14
mov dword [ebp - 0x64], ebx
jmp 0x1001575b
mov eax, dword [ebp - 0x64]
mov dword [ebp + eax*4 - 0xb0], 1
inc dword [ebp - 0x64]
cmp dword [ebp - 0x64], 2
jl 0x1001574a
mov dword [ebp - 0xb0], 0xffffffff
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
add eax, dword [ebp - 0x28]
jne 0x10015797
mov eax, dword [ebp - 0xb0]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x30], 0xe3c4
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0x24]
add eax, 0x17fa
jne 0x100157c8
mov eax, dword [ebp - 0xb0]
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
mov eax, dword [ebp - 0x34]
imul eax, dword [ebp - 0x38], 0x30fd
cmp eax, 0x61d2e80b
mov eax, dword [ebp - 0x160]
setl cl
sub ecx, dword [eax + 0xc]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x2c], ecx
lea ecx, [ebp - 0x160]
mov byte [ebp - 4], 4
call fcn.1000f303
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jg 0x10015610
dec dword [ebp - 0x20]
jmp 0x10015511
lea eax, [ebp - 0xe4]
cmp edi, eax
je 0x10016028
push 0xffffffffffffffff
push ebx
push eax
mov ecx, edi
jmp 0x10016023
mov dword [ebp - 0x70], 0x5c68ec0a
lea ecx, [ebp - 0x124]
push 2
call fcn.1000f280
mov byte [ebp - 4], 9
mov dword [ebp - 0x18], ebx
jmp 0x1001585a
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x1d0], 0x4bcd76ce
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x10015849
mov dword [ebp - 0x18], ebx
jmp 0x10015877
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x124]
mov dword [eax + ecx*4], 0x76ee
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x10015864
push ecx
push ecx
lea eax, [ebp - 0x124]
push eax
lea ecx, [ebp - 0x70]
call fcn.10014866
add esp, 0xc
mov dword [ebp - 0x70], 0xfffffffd
cmp dword [ebp - 0x70], 0xffffffee
jg 0x100159e0
push dword [ebp - 0xc0]
movdqa xmm0, xmmword [0x1006f850]
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0x180]
mov dword [ebp - 0xcc], ebx
push eax
push ebx
lea ecx, [ebp - 0xcc]
mov dword [ebp - 0xc8], ebx
movdqu xmmword [ebp - 0x180], xmm0
mov dword [ebp - 0xc4], ebx
call fcn.100127e2
mov byte [ebp - 4], 0xa
mov dword [ebp - 0xbc], 0x9b7d6b59
mov dword [ebp - 0xb8], 0x7c7128ab
mov dword [ebp - 0x50], 0x771d
cmp dword [ebp - 0x50], 0x79b2
jle 0x1001597c
mov esi, ebx
mov dword [ebp - 0x30], ebx
mov edi, ebx
mov dword [ebp - 0x34], ebx
mov ecx, edi
mov dword [ebp - 0x38], esi
mov edi, esi
mov dword [ebp - 0x78], ebx
shl edi, cl
mov esi, ebx
mov eax, edi
lea ecx, [ebp - 0x1e8]
or eax, esi
cdq
push edx
push eax
call fcn.10001acf
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10015940
mov eax, dword [eax]
push eax
call fcn.10049e23
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x1e8]
call fcn.1000fa8e
inc esi
cmp esi, 0x2a10
jl 0x10015924
mov edi, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
inc edi
mov dword [ebp - 0x34], edi
cmp edi, 0x36d0
jl 0x10015916
inc esi
mov dword [ebp - 0x30], esi
cmp esi, 0x2c4
jl 0x10015911
lea eax, [ebp - 0xb8]
mov edx, 0x5206
push eax
push 0x319
push 0x1ff0
push ebx
lea eax, [ebp - 0xbc]
xor cl, cl
push eax
lea eax, [ebp - 0xcc]
push eax
push 1
push 0x59e9
call fcn.1001a36a
add esp, 0x20
cmp dword [ebp - 0x50], 0x7685
jge 0x100159c6
push str.mli_idh_ewaouxga_bnyksvoks_waclkvumq_sntxhebp_ago_jrkpma_tyqjmy_ssglma_jyoginqz_mujhldh_qrppvw_gerasmwc
call fcn.10049e23
pop ecx
lea ecx, [ebp - 0xcc]
mov dword [ebp - 4], 9
call fcn.1000f303
dec dword [ebp - 0x70]
jmp 0x10015898
lea ecx, [ebp - 0x124]
mov byte [ebp - 4], 4
call fcn.1000f303
lea eax, [ebp - 0x74]
xor cl, cl
push eax
lea eax, [ebp - 0x80]
push eax
lea edx, [ebp - 0xe4]
call fcn.10016697
pop ecx
pop ecx
mov dword [ebp - 0x28], 0xca4f833f
lea ecx, [ebp - 0x108]
mov dword [ebp - 0x1c], 0xcac31e13
push 1
call fcn.1000f280
mov byte [ebp - 4], 0xd
mov dword [ebp - 0x30], 0x51b8
cmp dword [ebp - 0x30], 0x5485
jle 0x10015a8c
mov dword [ebp - 0x24], ebx
mov edi, ebx
mov esi, ebx
mov ecx, ebx
mov ebx, dword [ebp - 0x24]
mov dword [ebp - 0x34], ecx
mov edx, esi
lea eax, [edi + ebx]
shl edx, cl
mov ecx, 0x1007d358
xor eax, edx
cdq
push edx
push eax
call fcn.1000ef91
mov ecx, dword [ebp - 0x34]
inc ecx
mov dword [ebp - 0x34], ecx
cmp ecx, 0x72d0
jl 0x10015a44
inc esi
push 0
pop ebx
cmp esi, 0x6b99
jl 0x10015a3c
inc edi
cmp edi, 0x3616
jl 0x10015a3a
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp eax, 0x112e
jl 0x10015a38
mov dword [ebp - 0x18], 0xdffc5a25
mov byte [ebp - 4], 0xe
cmp dword [ebp - 0x30], 0x4e39
push 3
pop esi
jge 0x10015ad9
mov edx, str.ikodcdzh_ibiwyv_rlotni_gsnsggc_dzscueb_yohrutmj_ryq_skp_quueedh_oatlcpyv_ncwkx_qqb
mov ecx, 0x1007d358
call fcn.10011e0c
jmp 0x10015ad9
mov dword [ebp - 4], 0xd
mov eax, 0xc0717824
mov dword [ebp - 0x2c], 0xfffffff9
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x38], 0xd50170a2
mov dword [ebp - 0x6c], ebx
jmp 0x10015b21
mov eax, dword [ebp - 0x6c]
mov dword [ebp + eax*4 - 0x19c], 0xfffffff8
inc dword [ebp - 0x6c]
cmp dword [ebp - 0x6c], esi
jl 0x10015b10
lea eax, [ebp - 0x6c]
push eax
push 1
push ecx
lea eax, [ebp - 0x108]
push eax
call fcn.10013bfe
mov dword [ebp - 0x28], 2
add esp, 0x10
cmp dword [ebp - 0x28], ebx
jl 0x10015c69
xor eax, eax
mov dword [ebp - 0x34], 0x10e164ca
inc eax
lea ecx, [ebp - 0x154]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x30], eax
push esi
call fcn.1000f280
mov dword [ebp - 0x24], 0x786ae2ad
xor edx, edx
mov dword [ebp - 0x50], 0x4681
inc edx
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x20], ebx
jmp 0x10015b97
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x154]
mov dword [eax + ecx*4], 0x3132d68
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x10015b84
mov eax, dword [ebp - 0x24]
inc dword [ebp - 0x24]
test eax, eax
je 0x10015bbe
mov eax, dword [ebp - 0x30]
xor ecx, ecx
cmp eax, 0x702c
setne cl
add ecx, 0x97de
mov dword [ebp - 0x38], ecx
jne 0x10015bc0
mov edx, ebx
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
add eax, 0xe283
je 0x10015bd0
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x40]
sub ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov ecx, dword [ebp - 0x154]
mov eax, dword [ebp - 0x108]
setl dl
mov dword [ecx + 4], edx
mov dword [eax], edx
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x40]
cmp eax, dword [ebp - 0x2c]
jle 0x10015c04
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
cmp dword [ecx + 4], ebx
je 0x10015c21
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x108]
cmp dword [eax], ebx
je 0x10015c31
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x19c], ecx
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x28]
sub ecx, eax
mov dword [ebp - 0x38], ecx
lea ecx, [ebp - 0x154]
call fcn.1000f303
dec dword [ebp - 0x28]
jns 0x10015b4c
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], esi
jg 0x10015da1
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x90], 0x9d45aa77
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], esi
jg 0x10015d2b
mov dword [ebp - 0x34], 0x4039
cmp dword [ebp - 0x34], 0x4271
jle 0x10015cc6
mov edi, ebx
mov esi, edi
mov ebx, 0x2a70
mov eax, esi
mov ecx, 0x1007d358
cdq
push edx
push eax
call fcn.1000ef91
dec esi
dec ebx
jne 0x10015ca7
inc edi
cmp edi, 0x40ab
jl 0x10015ca0
push 3
pop esi
push ecx
call fcn.10019200
mov byte [ebp - 4], 0x10
cmp dword [ebp - 0x34], 0x3cf2
pop ecx
jge 0x10015d10
mov edx, str.bmwc_dchigkob_tuvlpv_fewdepwha_brgaspfg_qphtmxyrj_bhz_fxfy_lhhawy_enn
mov ecx, 0x1007d358
call fcn.10011e0c
jmp 0x10015d10
mov dword [ebp - 4], 0xd
mov eax, dword [ebp - 0x1c]
cmp dword [ebp + eax*4 - 0x118], ebx
jne 0x10015d2b
inc dword [ebp - 0x18]
jmp 0x10015c85
mov dword [ebp - 0x2c], ebx
jmp 0x10015d94
inc dword [ebp - 0x30]
mov dword [ebp - 0x18], ebx
jmp 0x10015d8c
push 2
lea ecx, [ebp - 0x130]
call fcn.1000f280
mov byte [ebp - 4], 0x12
mov dword [ebp - 0x20], ebx
jmp 0x10015d61
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x130]
mov dword [eax + ecx*4], 0x7fbc
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jl 0x10015d4e
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp - 0x130]
call fcn.1001482e
pop ecx
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 0xd
call fcn.1000f303
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jle 0x10015d38
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], esi
jle 0x10015d30
inc dword [ebp - 0x1c]
jmp 0x10015c6c
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 4
call fcn.1000f303
mov edi, dword [ebp - 0x74]
cmp edi, dword [ebp - 0x80]
jae 0x10015fed
mov dword [ebp - 0x58], 0xb871
mov dword [ebp - 0x54], 0xffffffff
mov dword [ebp - 0x18], 1
mov dword [ebp - 0x20], ebx
jmp 0x10015de7
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x16c], 0x1d6b3bfa
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x10015dd6
mov dword [ebp - 0x34], 0xc73
cmp dword [ebp - 0x34], 0xe5b
jle 0x10015e25
mov edi, ebx
mov esi, ebx
lea eax, [esi + edi]
mov ecx, 0x1007d358
cdq
push edx
push eax
call fcn.1000ef91
inc esi
cmp esi, 0x5e41
jl 0x10015e00
inc edi
cmp edi, 0x306f
jl 0x10015dfe
push 3
pop esi
push ebx
push ecx
push 0x7ba
push ecx
lea eax, [ebp - 0x54]
mov ecx, 0x63be
push eax
lea edx, [ebp - 0x58]
call fcn.10018c57
add esp, 0x14
mov byte [ebp - 4], 0x13
cmp dword [ebp - 0x34], 0xb57
jge 0x10015e84
mov edx, str.jynnum_rezsovqw_skukyovbl_arqyiik_pmstwmsgk_qaw_kzixw_ekvimsvvm_cvhq_yoy_tpdggbq
mov ecx, 0x1007d358
call fcn.10011e0c
jmp 0x10015e84
mov dword [ebp - 4], 4
mov dword [ebp - 0x58], ebx
jmp 0x10015fde
push 2
lea ecx, [ebp - 0xf0]
call fcn.1000f280
push ecx
push ecx
push ebx
lea eax, [ebp - 0x170]
mov byte [ebp - 4], 0x15
push eax
lea eax, [ebp - 0xf0]
mov edx, 0x45b1
push eax
push 0x59cd
call fcn.10013d31
mov dword [ebp - 0x18], 0xffffffff
xor edx, edx
mov eax, dword [ebp - 0x18]
add esp, 0x18
mov eax, dword [ebp - 0x164]
mov eax, dword [ebp - 0x164]
mov edi, dword [ebp - 0xf0]
mov eax, dword [ebp - 0x54]
cmp dword [edi + 4], eax
mov eax, dword [ebp - 0x54]
setle dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x58]
setl cl
xor edx, edx
cmp ecx, esi
setle dl
sub edx, dword [edi + 4]
neg edx
sbb edx, edx
inc edx
add eax, edx
je 0x10015f4a
cmp dword [edi + 4], ebx
je 0x10015f9a
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 4
call fcn.1000f303
mov edi, dword [ebp - 0x74]
mov ecx, edi
add edi, 2
mov dword [ebp - 0x74], edi
call fcn.100131fa
movzx eax, ax
lea ecx, [ebp - 0xe4]
push eax
call fcn.1000f12e
jmp 0x10015db3
mov dword [ebp - 0x18], ebx
jmp 0x10015f94
mov dword [ebp - 0x38], 0xb780f885
mov dword [ebp - 0x54], 0xffffffea
jmp 0x10015f88
mov byte [ebp - 0x5b], bl
lea ecx, [ebp - 0x5b]
push ebx
mov edx, 0x7c00
call fcn.10018d34
mov dword [esp], 0x1fc8
mov cl, 1
push 0x2d4b
call fcn.10013320
inc dword [ebp - 0x54]
pop ecx
pop ecx
cmp dword [ebp - 0x54], 1
jg 0x10015f5f
mov eax, dword [ebp - 0x38]
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffec
jle 0x10015f4f
mov dword [ebp - 0x18], ebx
jmp 0x10015fc6
mov byte [ebp - 0x39], bl
cmp byte [ebp - 0x39], 0
je 0x10015fc3
push 1
push 0x2974
push 0x888
xor dl, dl
mov ecx, 0x634
call fcn.10014888
add esp, 0xc
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xc
jl 0x10015f9f
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 4
call fcn.1000f303
inc dword [ebp - 0x58]
cmp dword [ebp - 0x58], 0x37
jne 0x10015e93
jmp 0x10015f26
lea eax, [ebp - 0x5a]
mov dword [ebp - 0x38], 0xb4e1a362
push 0x6dcf
push eax
xor dl, dl
mov byte [ebp - 0x5a], bl
xor cl, cl
call fcn.10016b3a
pop ecx
call fcn.10016484
mov eax, dword [ebp + 0x10]
pop ecx
lea ecx, [ebp - 0xe4]
cmp eax, ecx
je 0x10016028
push 0xffffffffffffffff
push ebx
push ecx
mov ecx, eax
call fcn.1000fb20
push ebx
push 1
lea ecx, [ebp - 0xe4]
call fcn.1000fc62
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret