Function at 0x10011b38
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x10059379
call fcn.100586e8
sub esp, 0x194
cmp byte [ebp + 0x20], 0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0xb4], edx
mov byte [ebp - 0x64], cl
je 0x10012062
test cl, cl
je 0x10011b7f
xor ebx, ebx
mov byte [ebp - 0x3e], bl
cmp byte [ebp - 0x3e], bl
je 0x10012bfa
push ebx
call dword [sym.imp.GDI32.dll_CreateBitmapIndirect]
jmp 0x10012bfa
mov eax, dword [ebp + 0x10]
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x5c], eax
xor dl, dl
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x58], 1
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x2c], 0x498d
push 0x7cbc
mov dword [ebp - 0x34], eax
call fcn.10013cc8
mov eax, dword [ebp - 0x58]
add esp, 4
neg eax
sbb eax, eax
xor ebx, ebx
neg eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
je 0x10011cee
mov dword [ebp - 0x18], 1
mov esi, 0x10073018
mov dword [ebp - 0x24], 0x3d96
cmp dword [ebp - 0x24], 0x3de5
jle 0x10011c35
mov dword [ebp - 0x28], ebx
mov eax, ebx
mov dword [ebp - 0x14], 0x3c7
mov dword [ebp - 0x1c], eax
mov ebx, eax
mov edi, 0x1b4a
mov eax, ebx
mov ecx, esi
cdq
push edx
push eax
call fcn.1000421d
inc ebx
dec edi
jne 0x10011bfb
mov eax, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x28]
add eax, edi
dec dword [ebp - 0x14]
mov dword [ebp - 0x1c], eax
jne 0x10011bf4
inc edi
mov dword [ebp - 0x28], edi
push 0
pop ebx
cmp edi, 0x2d81
jl 0x10011be8
push 0x1365
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x24], 0x3cd2
jge 0x10011c4d
mov edx, str.oon_nskgb_meblwmye_qvtb_cwvuvv_xichz_ipbnqrvjo_otbi_vwxpd_gjdcqc_ukbc_xzsraag_yeveyju
mov ecx, esi
call fcn.100065e2
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x14], ebx
jmp 0x10011c8f
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x9c], 0xc3a23fe5
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 1
jl 0x10011c7e
cmp dword [ebp - 0x18], 0xf34bdac8
sbb eax, eax
inc eax
sub eax, 0x3628c20e
je 0x10011ca9
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], eax
mov esi, dword [ebp - 0x58]
mov dword [ebp - 0x9c], esi
mov eax, dword [ebp - 0x18]
cmp eax, 1
setg cl
xor edx, edx
cmp ecx, 0x6ddcd166
setg dl
xor eax, eax
cmp esi, edx
setg al
cmp dword [ebp - 0x14], eax
jge 0x10011ce7
cmp dword [ebp - 0x14], ebx
je 0x10011ce7
xor eax, eax
inc eax
jmp 0x10011ce9
mov eax, ebx
mov dword [ebp - 0x18], eax
jmp 0x10011d06
push 1
push ebx
push 1
mov edx, 0x104f
mov byte [ebp - 0x39], bl
lea ecx, [ebp - 0x39]
call fcn.10011643
add esp, 0xc
mov dword [ebp - 0x24], 0x5960
cmp dword [ebp - 0x24], 0x598f
jle 0x10011d71
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_UpdateColors]
mov esi, ebx
mov edi, ebx
mov eax, edi
lea ecx, [ebp - 0x184]
or eax, esi
cdq
push edx
push eax
call fcn.10001a55
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10011d4a
mov eax, dword [eax]
push eax
call fcn.100402ac
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x184]
call fcn.10004889
inc edi
cmp edi, 0xc63
jl 0x10011d2e
inc esi
cmp esi, 0x30fb
jl 0x10011d2c
cmp dword [ebp - 0x24], 0x5672
jge 0x10011d85
push str.ozcwf_fel_cgu_tlf
call fcn.100402ac
pop ecx
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x14], ebx
jmp 0x10011da9
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x138], 0x7786
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x10011d98
push 3
mov dword [ebp - 0x14], ebx
pop edi
cmp dword [ebp - 0x14], edi
jg 0x10011e90
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x24], 0x3ce7
cmp dword [ebp - 0x24], 0x3f0a
jle 0x10011e1f
mov esi, ebx
mov edi, ebx
mov eax, edi
lea ecx, [ebp - 0x16c]
and eax, esi
cdq
push edx
push eax
call fcn.10001a55
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10011df5
mov eax, dword [eax]
push eax
call fcn.100402ac
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x16c]
call fcn.10004889
inc edi
cmp edi, 0x2277
jl 0x10011dd9
inc esi
cmp esi, 0x5dad
jl 0x10011dd7
push 3
pop edi
cmp dword [ebp - 0x24], 0x3cb7
jge 0x10011e33
push str.pzi_tvdpuk_kemkcf_siljg
call fcn.100402ac
pop ecx
or dword [ebp - 4], 0xffffffff
xor edx, edx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x138], 0x8f0d
imul ecx, dword [ebp - 0x18], 0x8f0e
mov eax, dword [ebp - 0x18]
cmp ecx, eax
setge dl
xor ecx, ecx
add edx, dword [ebp - 0x18]
cmp edx, 0x95a
setge cl
xor eax, eax
imul ecx, dword [ebp - 0x18]
test ecx, ecx
sets al
xor ecx, ecx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
test eax, eax
sets cl
mov dword [ebp - 0x34], ecx
inc dword [ebp - 0x14]
jmp 0x10011db5
mov eax, dword [ebp - 0x5c]
mov al, byte [eax]
mov byte [ebp + 0x23], al
mov dword [ebp - 0x14], ebx
jmp 0x10011ea7
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x74], edi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 1
jl 0x10011e9d
cmp dword [ebp - 0x74], ebx
je 0x10011f3a
mov dword [ebp - 0x14], 0xffffffff
mov eax, 0x88e1b61b
mov dword [ebp - 0x108], eax
mov dword [ebp - 0x104], eax
mov dword [ebp - 0x100], eax
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0x14], ebx
jmp 0x10011ef8
push ecx
xor dl, dl
call fcn.100109c0
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x104], 1
inc dword [ebp - 0x14]
pop ecx
cmp dword [ebp - 0x14], ebx
jle 0x10011edf
mov dword [ebp - 0x14], ebx
jmp 0x10011f33
push 0x55b9
push ecx
lea eax, [ebp - 0x3a]
mov byte [ebp - 0x3a], bl
push eax
push 0x3cb7
push 0x7a70
push 0xbb7
mov edx, 0x67ee
mov ecx, 0xfa0
call fcn.10013911
add esp, 0x18
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jle 0x10011f02
jmp 0x10011f45
push ecx
push ecx
xor cl, cl
call fcn.100114c1
pop ecx
pop ecx
lea eax, [ebp - 0x5c]
push eax
push ebx
push 0x495f
lea ecx, [ebp + 0x23]
call fcn.100116fd
mov dword [ebp - 0x28], 7
add esp, 0xc
mov dword [ebp - 0x20], 0xc5a3d7f1
mov dword [ebp - 0x2c], 0xee49
mov dword [ebp - 0x34], 0x6aed1d25
mov dword [ebp - 0x24], 0x51dd2e9
mov dword [ebp - 0x30], 0xad7494df
mov dword [ebp - 0x14], ebx
jmp 0x10011f9a
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x128], 1
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x10011f89
push ecx
call fcn.10012c0b
mov dword [ebp - 0x120], ebx
mov eax, dword [ebp - 0x28]
pop ecx
xor ecx, ecx
test eax, eax
sets cl
mov dword [ebp - 0x24], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x24]
cmp eax, 0x4132
mov eax, dword [ebp - 0x34]
setle cl
xor edx, edx
cmp ecx, eax
setne dl
sub edx, dword [ebp - 0x2c]
sub edx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x5c]
mov dword [ebp - 0x30], edx
mov dl, 0x16
mov cl, byte [esi]
call fcn.10019f3f
mov byte [esi], al
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x20], 0x1e87df2f
mov dword [ebp - 0x20], 0xfffffffa
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x20], 0x1fc3eee2
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x20], 6
mov dword [ebp - 0x20], 0xb4b13281
mov dword [ebp - 0xac], 1
mov dword [ebp - 0x14], ebx
jmp 0x1001203b
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x154], 0x32a831d2
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1001202a
lea eax, [ebp - 0xac]
mov edx, 0x7e68
push ebx
push eax
call fcn.10011392
mov ecx, dword [ebp + 0x18]
add esp, 8
mov al, byte [ebp + 0x23]
mov byte [ecx], al
jmp 0x10012bfa
mov dword [ebp - 0x18], 0x4168
xor ebx, ebx
cmp dword [ebp - 0x18], 0x4547
mov esi, 0x10073018
jle 0x100120e1
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x28], ebx
mov eax, ebx
mov dword [ebp - 0x24], 0x23e0
mov dword [ebp - 0x1c], eax
mov edi, ebx
mov ebx, dword [ebp - 0x14]
xor eax, edi
mov ecx, esi
xor eax, ebx
cdq
push edx
push eax
call fcn.1000421d
mov eax, dword [ebp - 0x1c]
inc edi
cmp edi, 0x2a45
jl 0x10012090
mov edi, dword [ebp - 0x28]
add eax, edi
dec dword [ebp - 0x24]
push 0
mov dword [ebp - 0x1c], eax
pop ebx
jne 0x1001208b
inc edi
mov dword [ebp - 0x28], edi
cmp edi, 0x2656
jl 0x1001207f
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, 0x3b86
jl 0x1001207c
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SetFocus]
mov dword [ebp - 4], 6
cmp dword [ebp - 0x18], 0x3de0
jge 0x100120fd
mov edx, str.wru_kfhjporye_rbm_ruythz_jtuznroj_rhoeanz_yytkgln_ayaksemsn_kabyvhkw_rglgro_tdsf
mov ecx, esi
call fcn.100065e2
or dword [ebp - 4], 0xffffffff
cmp byte [ebp + 0x14], 0
je 0x1001213a
mov eax, dword [ebp - 0xb4]
mov dword [eax], 0x2d5e48d3
jmp 0x10012bfa
mov eax, dword [ebp + 0x1c]
mov edi, dword [ebp + 8]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x54], eax
xor eax, eax
mov dword [ebp - 0x34], edi
mov dword [ebp - 0xb8], 7
mov dword [ebp - 0xbc], ebx
mov word [ebp - 0xcc], ax
mov dword [ebp - 4], 8
xor ecx, ecx
mov dword [ebp - 0x30], 0x8f4a8fe2
inc ecx
mov dword [ebp - 0x1c], 0x24891023
mov dword [ebp - 0x14], ebx
jmp 0x10012190
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x48], 0x53b26bdd
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x10012182
mov dword [ebp - 0x48], ebx
cmp dword [ebp - 0x48], 0xe
jle 0x100122dd
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x30], 0x3f90
cmp dword [ebp - 0x30], 0x4369
jle 0x1001224a
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_ClientToScreen]
mov esi, ebx
mov dword [ebp - 0x18], ebx
mov edi, ebx
mov dword [ebp - 0x14], ebx
mov eax, esi
mov ecx, ebx
cdq
idiv edi
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x28], edx
mov esi, ecx
mov edi, 0x32f0
mov eax, esi
lea ecx, [ebp - 0x19c]
and eax, edx
cdq
push edx
push eax
call fcn.10001a55
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10012201
mov eax, dword [eax]
push eax
call fcn.100402ac
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x19c]
call fcn.10004889
mov edx, dword [ebp - 0x28]
dec esi
dec edi
jne 0x100121e5
mov ecx, dword [ebp - 0x24]
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 0x472f
jl 0x100121de
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x18]
inc edi
mov dword [ebp - 0x14], edi
cmp edi, 0x6171
jl 0x100121d1
inc esi
mov dword [ebp - 0x18], esi
cmp esi, 0x5324
jl 0x100121cc
mov dword [ebp - 0x24], 0x5f88e10e
cmp dword [ebp - 0x30], 0x3e71
jge 0x10012265
push str.mhwxculyi_tquhz_mzpt_lgpydejyc_aqjxy_bzemicue_hfctk
call fcn.100402ac
pop ecx
mov dword [ebp - 4], 8
mov dword [ebp - 0x28], 1
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
shl eax, 2
cmp eax, 0x9ef4a042
sbb eax, eax
xor ecx, ecx
neg eax
add eax, 4
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
test eax, eax
mov eax, dword [ebp - 0x48]
setg cl
xor edx, edx
cmp ecx, eax
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x2c]
setl dl
add ecx, edx
neg ecx
sbb ecx, ecx
xor eax, eax
neg ecx
cmp ecx, 0xfffe
setne al
sub eax, dword [ebp - 0x28]
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
add eax, dword [ebp - 0x48]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x1c]
inc dword [ebp - 0x48]
inc ecx
jmp 0x10012198
mov eax, dword [ebp - 0x54]
mov esi, 0x10073018
cmp eax, dword [ebp - 0x4c]
ja 0x10012477
mov dword [ebp - 0x60], ecx
lea edx, [ebp - 0x60]
push ecx
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x20], 0x498d
push 0x90
call fcn.10011392
mov eax, dword [ebp - 0x60]
add esp, 8
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
je 0x10012446
mov dword [ebp - 0x24], 0x5177
cmp dword [ebp - 0x24], 0x5527
jle 0x10012385
mov edi, ebx
mov dword [ebp - 0x30], ebx
mov eax, ebx
mov dword [ebp - 0x2c], ebx
mov ecx, eax
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x1c], ebx
shl edi, cl
mov ecx, ebx
mov eax, edi
sar eax, cl
mov ecx, esi
cdq
push edx
push eax
call fcn.1000421d
inc ebx
cmp ebx, 0x1532
jl 0x10012349
mov eax, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x2c], eax
push 0
pop ebx
cmp eax, 0x18d3
jl 0x1001233f
inc edi
mov dword [ebp - 0x30], edi
cmp edi, 0x43c4
jl 0x1001233a
xor ecx, ecx
inc ecx
mov dword [ebp - 0x18], ecx
mov byte [ebp - 4], 0xb
cmp dword [ebp - 0x24], 0x4f80
jge 0x100123a4
mov edx, str.jwfnxg_cmlabhwa_auw
mov ecx, esi
call fcn.100065e2
xor ecx, ecx
inc ecx
mov edi, dword [ebp + 8]
mov dword [ebp - 4], 8
mov dword [ebp - 0x14], ebx
jmp 0x100123e8
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xa0], 0xc3a23fe5
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x100123d7
cmp dword [ebp - 0x18], 0xf34bdac8
sbb eax, eax
inc eax
sub eax, 0x3628c20e
je 0x10012401
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], ecx
xor ecx, ecx
mov esi, dword [ebp - 0x60]
mov dword [ebp - 0xa0], esi
mov eax, dword [ebp - 0x18]
cmp eax, 1
setg cl
xor edx, edx
cmp ecx, 0x6ddcd166
setg dl
xor eax, eax
cmp esi, edx
setg al
cmp dword [ebp - 0x14], eax
jge 0x1001243f
cmp dword [ebp - 0x14], ebx
je 0x1001243f
xor eax, eax
inc eax
jmp 0x10012441
mov eax, ebx
mov dword [ebp - 0x18], eax
jmp 0x1001245e
push ebx
push ecx
push ecx
mov edx, 0x6363
mov ecx, 0xc1b
call fcn.10011643
mov edi, dword [ebp + 8]
add esp, 0xc
lea eax, [ebp - 0xcc]
cmp edi, eax
je 0x10012bec
push 0xffffffffffffffff
push ebx
push eax
mov ecx, edi
jmp 0x10012be7
mov dword [ebp - 0x14], 0xac64a684
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0xec], ebx
mov dword [ebp - 0xe8], ebx
mov dword [ebp - 0xe4], ebx
push 3
mov dword [ebp - 0xe0], ebx
mov dword [ebp - 0x14], ebx
pop edi
jmp 0x100124b2
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x98], 0x99244325
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x100124a1
mov dword [ebp - 0x14], 0xffffffeb
jmp 0x100124d3
push ecx
push ecx
mov edx, 0x1665
xor cl, cl
call fcn.1001156b
inc dword [ebp - 0x14]
pop ecx
pop ecx
cmp dword [ebp - 0x14], 0xfffffffd
je 0x100124c0
mov dword [ebp - 0x14], 2
mov eax, 0x50cf
cmp dword [ebp - 0x14], ebx
jl 0x100126bb
mov dword [ebp - 0x20], 0xe4f9dbc9
mov dword [ebp - 0x24], 0xdf860956
mov dword [ebp - 0x28], 0x4a938f73
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0x20], 0x35ff
mov dword [ebp - 0x2c], 0x879a2734
mov dword [ebp - 0x30], 0x61fe
cmp dword [ebp - 0x30], 0x6247
jle 0x1001257a
push 0x1174
push ebx
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_MessageBoxW]
mov eax, ebx
mov dword [ebp - 0x2c], ebx
mov edi, eax
mov ebx, 0xb56
mov eax, edi
mov ecx, esi
cdq
push edx
push eax
call fcn.1000421d
dec edi
dec ebx
jne 0x10012559
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
cmp eax, 0x5555
jl 0x10012552
push 3
pop edi
mov byte [ebp - 4], 0xd
cmp dword [ebp - 0x30], 0x6093
jge 0x100125bf
mov edx, str.ctmw_yrwpi_jhmfg_knl_mbdbvuib_vomqhe_mhyyjld_ncxzus
mov ecx, esi
call fcn.100065e2
jmp 0x100125bf
mov dword [ebp - 4], 8
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0x98], ebx
je 0x100125e1
mov dword [ebp - 0x2c], 1
cmp dword [ebp - 0x98], ebx
jne 0x100125e4
mov dword [ebp - 0x2c], ebx
inc dword [ebp - 0xd4]
xor edx, edx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x98]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0xec]
mov eax, dword [ebp - 0xe8]
mov eax, dword [ebp - 0x94]
imul ecx, eax, 0xac8e
mov eax, dword [ebp - 0xe4]
cmp ecx, eax
setl dl
xor eax, eax
cmp edx, 0xe425
setg al
xor edx, edx
cmp eax, 0xd55c
mov eax, dword [ebp - 0x24]
setg dl
xor ecx, ecx
cmp edx, eax
sete cl
cmp ecx, dword [ebp - 0x90]
jne 0x1001264c
cmp dword [ebp - 0x28], ebx
jne 0x1001264c
mov ecx, ebx
jmp 0x1001264f
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0x14]
xor edx, edx
mov eax, dword [ebp + eax*4 - 0x98]
cmp eax, ecx
mov eax, dword [ebp - 0x1c]
setle dl
xor ecx, ecx
cmp edx, eax
setg cl
xor eax, eax
cmp eax, ecx
sbb eax, eax
inc eax
shl eax, 3
test eax, eax
je 0x10012685
cmp dword [ebp - 0xd4], ebx
je 0x10012685
xor eax, eax
inc eax
jmp 0x10012687
mov eax, ebx
imul eax, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], ebx
je 0x1001269e
push ecx
mov dl, 1
call fcn.100109c0
pop ecx
jmp 0x100126b3
push ebx
push ecx
push 0x4c4a
lea ecx, [ebp - 0x3c]
mov byte [ebp - 0x3c], bl
call fcn.10012e71
add esp, 0xc
dec dword [ebp - 0x14]
jmp 0x100124e0
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0xcc]
push eax
push ebx
lea ecx, [ebp - 0x4c]
call fcn.100116a0
mov dword [ebp - 0x50], 0x46dd
add esp, 0xc
mov dword [ebp - 0x18], 9
mov dword [ebp - 0x14], 0x4be3d0e7
mov dword [ebp - 0x20], 0x8faa83fb
mov dword [ebp - 0xa8], 1
mov dword [ebp - 0x1c], ebx
jmp 0x1001270e
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xf8], 0xfffffffe
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x100126fd
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x18]
jg 0x10012724
cmp dword [ebp - 0x18], ebx
jne 0x10012724
mov edx, ebx
jmp 0x10012727
xor edx, edx
inc edx
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp edx, eax
setge cl
sub ecx, dword [ebp - 0x18]
neg ecx
sbb ecx, ecx
inc ecx
cmp ecx, 0xbebf
jge 0x10012744
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x50]
xor edx, edx
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
cmp eax, ecx
setne dl
add edx, 0xe72c34c4
neg edx
sbb edx, edx
inc edx
cmp edx, 0x9fe9
jne 0x1001276d
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x50]
xor ecx, ecx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x14]
test eax, eax
mov dword [ebp - 0xf0], eax
setne cl
xor eax, eax
cmp ecx, 0x5ad3
sete al
cmp eax, dword [ebp - 0x14]
jg 0x100127a2
cmp dword [ebp - 0x14], ebx
jne 0x100127a2
mov ecx, ebx
jmp 0x100127a5
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0x20]
imul eax, ecx
cmp eax, 0x2c21
jge 0x10012a13
push 1
lea eax, [ebp - 0x3b]
mov byte [ebp - 0x3b], bl
push ebx
push eax
xor dl, dl
mov ecx, 0x1dc5
call fcn.100117f3
mov dword [ebp - 0x14], ebx
add esp, 0xc
cmp dword [ebp - 0x14], 2
jg 0x10012afb
mov dword [ebp - 0x18], ebx
jmp 0x100129ea
mov dword [ebp - 0x20], 0x232a
cmp dword [ebp - 0x20], 0xb45
jge 0x100129bb
lea eax, [ebp - 0x38]
push eax
push 0x10062028
call fcn.10040562
mov eax, dword [ebp - 0x38]
pop ecx
pop ecx
inc eax
lea ecx, [ebp - 0x8c]
push eax
call fcn.100180b8
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x20], 2
cmp eax, 2
jl 0x1001284f
mov esi, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x20]
add esi, 8
push esi
push 0x10062028
call fcn.10040562
mov eax, dword [ebp - 0x38]
inc edi
pop ecx
add esi, 4
pop ecx
cmp edi, eax
jle 0x10012837
mov edi, dword [ebp - 0x8c]
lea ecx, [ebp - 0xa4]
push ecx
inc eax
mov dword [ebp - 0xa4], 1
push eax
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x68], ebx
call fcn.100183cb
mov byte [ebp - 4], 0x10
mov edx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x70]
test edx, edx
jle 0x100128ab
mov ebx, edi
lea eax, [esi + edx*4]
sub ebx, esi
mov edi, eax
mov ecx, dword [ebx + edi]
mov eax, dword [edi]
lea edi, [edi - 4]
add dword [esi + ecx*4], eax
dec edx
test edx, edx
jg 0x10012890
mov edx, dword [ebp - 0x38]
xor ebx, ebx
mov edi, dword [ebp - 0x8c]
movsd xmm0, qword [0x10066600]
lea ecx, [ebp - 0x110]
push ecx
lea eax, [edx + 1]
movsd qword [ebp - 0x110], xmm0
push eax
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x80], ebx
mov dword [ebp - 0x7c], ebx
mov dword [ebp - 0x78], ebx
call fcn.1001845c
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x34], 2
cmp eax, 2
jl 0x10012938
movsd xmm2, qword [0x10066600]
lea ebx, [edi + 8]
mov edx, esi
sub edx, edi
mov edi, dword [ebp - 0x80]
mov ecx, dword [ebx]
mov eax, dword [esi + ecx*4]
sub eax, dword [edx + ebx]
add ebx, 4
movsd xmm0, qword [edi + ecx*8]
dec eax
mov ecx, dword [ebp - 0x34]
addsd xmm0, xmm2
movd xmm1, eax
cvtdq2pd xmm1, xmm1
mulsd xmm1, qword [0x100665f8]
addsd xmm1, xmm0
movsd qword [edi + ecx*8], xmm1
inc ecx
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x34], ecx
cmp ecx, eax
jle 0x100128f8
xor ebx, ebx
jmp 0x1001293b
mov edi, dword [ebp - 0x80]
mov dword [ebp - 0x20], 1
cmp eax, 1
jl 0x1001296c
mov esi, dword [ebp - 0x20]
movsd xmm0, qword [edi + esi*8]
push ecx
push ecx
movsd qword [esp], xmm0
push str._.1f
call fcn.100402ac
add esp, 0xc
inc esi
cmp esi, dword [ebp - 0x38]
jle 0x1001294a
mov esi, dword [ebp - 0x70]
test edi, edi
je 0x10012980
push edi
call fcn.10040479
pop ecx
mov dword [ebp - 0x80], ebx
mov dword [ebp - 0x7c], ebx
mov dword [ebp - 0x78], ebx
test esi, esi
je 0x10012994
push esi
call fcn.10040479
pop ecx
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x68], ebx
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x8c]
test eax, eax
je 0x100129bb
push eax
call fcn.10040479
pop ecx
mov dword [ebp - 0x8c], ebx
mov dword [ebp - 0x88], ebx
mov dword [ebp - 0x84], ebx
mov eax, dword [ebp - 0x18]
mov edx, 0x5b4b
mov ecx, dword [ebp + eax*4 - 0xf8]
mov eax, dword [ebp - 0x14]
push ecx
mov dword [ebp + eax*4 - 0xf8], ecx
lea eax, [ebp - 0x3d]
push eax
push ecx
mov byte [ebp - 0x3d], bl
xor cl, cl
call fcn.1001149f
add esp, 0xc
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jle 0x100127e4
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0xf8]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jle 0x100127dc
push 3
pop edi
jmp 0x10012afb
push 0x7c89
lea eax, [ebp - 0x50]
mov dword [ebp - 0xb0], 0xfffffff9
push eax
push ecx
push 1
lea edx, [ebp - 0xb0]
call fcn.10011145
lea eax, [ebp - 0xa8]
mov edx, 0x1a0b
push eax
lea eax, [ebp - 0x50]
xor cl, cl
push eax
call fcn.10012c51
add esp, 0x18
jmp 0x10012afb
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], ebx
jmp 0x10012a73
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x148], 0x7786
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x10012a62
mov dword [ebp - 0x14], ebx
jmp 0x10012ad9
mov dword [ebp - 0x18], 7
xor edx, edx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x148], 0x8f0d
imul ecx, dword [ebp - 0x18], 0x8f0e
mov eax, dword [ebp - 0x18]
cmp ecx, eax
setge dl
xor ecx, ecx
add edx, dword [ebp - 0x18]
cmp edx, 0x95a
setge cl
xor eax, eax
imul ecx, dword [ebp - 0x18]
test ecx, ecx
sets al
xor ecx, ecx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
test eax, eax
sets cl
mov dword [ebp - 0x20], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jle 0x10012a7e
lea eax, [ebp - 0x4c]
xor dl, dl
push eax
push 1
lea eax, [ebp - 0xcc]
mov ecx, 0x380a
push ebx
push eax
call fcn.100137e3
add esp, 0x10
mov eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x54]
jb 0x10012a53
xor ecx, ecx
mov dword [ebp - 0x14], ebx
inc ecx
jmp 0x10012b1d
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x44], 0xffffffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x10012b0f
mov dword [ebp - 0x14], ebx
jmp 0x10012b34
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x11c], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x10012b27
mov dword [ebp - 0x44], ebx
jmp 0x10012bca
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x20], 0xfffffffd
mov eax, dword [ebp - 0x14]
imul eax, dword [ebp - 0x14], 0x1511ebc0
sub eax, 0xfff7
neg eax
sbb eax, eax
add eax, 0xffff0002
neg eax
sbb eax, eax
inc eax
sub eax, dword [ebp - 0x14]
sub eax, 0x3a6c3797
cmp eax, 0xfffc
ja 0x10012b81
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
xor edx, edx
cmp eax, 0xfffffff9
setge dl
xor ecx, ecx
add edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x44]
cmp edx, eax
setl cl
mov dword [ebp - 0x1c], ecx
xor ecx, ecx
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x118], edx
mov eax, dword [ebp - 0x44]
cmp eax, 0x59951ea6
setg cl
xor eax, eax
cmp ecx, edx
setg al
add eax, 5
jne 0x10012bc1
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], 0x16
jl 0x10012b41
mov eax, dword [ebp + 8]
lea ecx, [ebp - 0xcc]
cmp eax, ecx
je 0x10012bec
push 0xffffffffffffffff
push ebx
push ecx
mov ecx, eax
call fcn.1000558a
push ebx
push 1
lea ecx, [ebp - 0xcc]
call fcn.10004955
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret