Function at 0x10006998
Capabilities:
Encode data using xor
Encrypt data using speck

Disassembly:
mov eax, 0x10059304
call fcn.100589e8
sub esp, 0x164
push ebx
push esi
mov byte [ebp - 0x50], dl
xor ebx, ebx
mov dword [ebp - 0x1c], 0x5c4d
cmp dword [ebp - 0x1c], 0x5f7d
push edi
mov dword [ebp - 0x10], esp
jle 0x10006a1f
mov esi, ebx
mov edi, ebx
mov dword [ebp - 0x28], ebx
mov eax, ebx
mov ebx, dword [ebp - 0x28]
mov dword [ebp - 0x24], eax
and eax, ebx
mov ecx, 0x100742b8
xor eax, edi
or eax, esi
cdq
push edx
push eax
call fcn.1000793a
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp eax, 0x2e5
jl 0x100069d2
inc ebx
push 0
mov dword [ebp - 0x28], ebx
cmp ebx, 0x47b7
pop ebx
jl 0x100069ca
inc edi
cmp edi, 0x6fc6
jl 0x100069c7
inc esi
cmp esi, 0x6798
jl 0x100069c5
push 0x22fa
call dword [sym.imp.USER32.dll_ShowCaret]
cmp byte [ebp - 0x50], 0
je 0x10006b2a
mov dword [ebp - 0x24], 0x5e76
cmp dword [ebp - 0x24], 0x5f53
jle 0x10006a70
mov esi, ebx
mov edi, ebx
mov dword [ebp - 0x54], ebx
lea eax, [edi + esi]
mov ecx, 0x100742b8
and eax, ebx
cdq
push edx
push eax
call fcn.1000793a
inc ebx
cmp ebx, 0x26a7
jl 0x10006a40
inc edi
push 0
pop ebx
cmp edi, 0x6eef
jl 0x10006a3d
inc esi
cmp esi, 0x28f0
jl 0x10006a3b
mov ecx, dword [ebp + 0x18]
mov edi, ebx
push 0x18
mov eax, dword [ecx + 4]
sub eax, dword [ecx]
cdq
pop ecx
idiv ecx
mov dword [ebp - 0x54], eax
test eax, eax
jle 0x10006ab7
mov esi, ebx
mov ebx, dword [ebp + 0x18]
mov edx, dword [ebx]
mov ecx, dword [ebp + 0x14]
add edx, esi
call fcn.10005357
test al, al
je 0x10006aac
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax]
add ecx, esi
call fcn.10006953
test al, al
jne 0x10006ab5
inc edi
add esi, 0x18
cmp edi, dword [ebp - 0x54]
jl 0x10006a8c
xor ebx, ebx
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x24], 0x5e5d
jge 0x10006ad2
mov edx, str.hzxoxdx_zwtxaum_afay_idgigkan_xrspeo_aup_pfkcpxe_wfzm_puubhsxpw_dkoabdso_jewnp_mnghowl_apryk
mov ecx, 0x100742b8
call fcn.10009c90
mov dword [ebp - 4], 0x15
cmp dword [ebp - 0x1c], 0x5bfe
jge 0x10006af1
mov edx, str.catgotnb_ecdm_pum
mov ecx, 0x100742b8
call fcn.10009c90
jmp 0x10007777
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x1c], 1
mov dword [ebp - 0x48], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x2c], 8
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], 0xfffffff3
jg 0x10006e63
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], 0x1c
jne 0x10006e23
push 4
lea ecx, [ebp - 0xa8]
call fcn.10001c0f
push 0x5b18
push 0x430d
push 0xcaf
push 0x316f
push 0x131a
push 0x489
lea eax, [ebp - 0xa8]
mov dword [ebp - 4], 2
push eax
push 1
lea eax, [ebp - 0xdc]
mov dword [ebp - 0x28], 0x10f7a73
push 0x33ff
push eax
xor dl, dl
mov cl, 1
call fcn.1000559a
add esp, 0x28
mov dword [ebp - 0x28], 3
cmp dword [ebp - 0x28], ebx
jl 0x10006e0c
mov dword [ebp - 0x14], 0x2a19
cmp dword [ebp - 0x14], 0x2dd9
jle 0x10006c38
mov edi, ebx
mov esi, ebx
mov ecx, ebx
mov dword [ebp - 0x24], ebx
mov eax, esi
sar eax, cl
lea ecx, [ebp - 0x154]
xor eax, edi
cdq
push edx
push eax
call fcn.1000207f
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10006c02
mov eax, dword [eax]
push eax
call fcn.10042041
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x154]
call fcn.100022c2
mov ecx, dword [ebp - 0x24]
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 0x1e55
jl 0x10006be4
inc esi
cmp esi, 0x179d
jl 0x10006bdf
inc edi
cmp edi, 0x121d
jl 0x10006bdd
cmp dword [ebp - 0x14], 0x2900
jge 0x10006c4c
push str.vjvwjs_uobby_vusfb_nzaqe_vdvc_oazi_ikgyzqooi_uxgiumyv_fdd
call fcn.10042041
pop ecx
push 2
pop eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x14], ebx
jmp 0x10006c68
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x38], 0xffffffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 1
jl 0x10006c5a
mov dword [ebp - 0x38], ebx
cmp dword [ebp - 0x38], 3
jg 0x10006e04
mov dword [ebp - 0x14], 0x443ac46d
mov dword [ebp - 0x2c], 0xc4e
cmp dword [ebp - 0x2c], 0xe01
jle 0x10006cfd
push ebx
call dword [sym.imp.COMDLG32.dll_FindTextW]
mov edi, ebx
mov esi, ebx
mov eax, edi
mov ecx, ebx
cdq
idiv esi
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x34], edx
mov eax, ebx
mov dword [ebp - 0x24], ebx
and eax, ecx
mov ecx, 0x100742b8
or eax, edx
cdq
push edx
push eax
call fcn.1000793a
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x14]
inc eax
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x24], eax
cmp eax, 0x6224
jl 0x10006caf
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, 0x4f36
jl 0x10006caa
inc esi
cmp esi, 0x6bc5
jl 0x10006c9d
inc edi
cmp edi, 0x3889
jl 0x10006c9b
push 0x25b3
call dword [sym.imp.GDI32.dll_EndDoc]
push 3
lea ecx, [ebp - 0xb4]
call fcn.10001c0f
mov byte [ebp - 4], 6
cmp dword [ebp - 0x2c], 0xa4c
jge 0x10006d44
mov edx, str.odo_jqvfsrjz_xzbuqit
mov ecx, 0x100742b8
call fcn.10009c90
jmp 0x10006d44
push ecx
lea eax, [ebp - 0xb4]
mov dword [ebp - 4], 5
push eax
push ecx
lea eax, [ebp - 0xe0]
mov edx, 0x19eb
push eax
push 1
mov ecx, 0x5b8c
call fcn.100039bc
mov dword [ebp - 0x14], 3
add esp, 0x14
cmp dword [ebp - 0x14], ebx
jl 0x10006ded
cmp dword [ebp - 0x38], ebx
jne 0x10006dcb
mov eax, dword [ebp - 0x38]
xor ecx, ecx
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x1c]
cmp eax, 9
setg cl
cmp ecx, dword [ebp - 0x1c]
jl 0x10006da0
cmp dword [ebp - 0x38], ebx
je 0x10006da0
xor eax, eax
inc eax
jmp 0x10006da2
mov eax, ebx
mov ecx, dword [ebp - 0x38]
imul edx, eax, 0xffff
mov eax, dword [ebp - 0xa8]
add edx, dword [eax + ecx*4]
xor eax, eax
cmp eax, edx
sbb eax, eax
neg eax
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x2c], eax
jge 0x10006dcb
mov edx, ebx
jmp 0x10006dce
xor edx, edx
inc edx
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0x38]
mov dword [eax], edx
mov eax, dword [ebp - 0xa8]
mov eax, dword [eax + ecx*4]
imul eax, edx
mov dword [ebp - 0x20], eax
dec dword [ebp - 0x14]
jns 0x10006d7b
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 2
call fcn.10001c92
inc dword [ebp - 0x38]
jmp 0x10006c71
dec dword [ebp - 0x28]
jmp 0x10006bc2
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xa8]
call fcn.10001c92
inc dword [ebp - 0x18]
jmp 0x10006b57
mov byte [ebp - 0x2d], bl
cmp byte [ebp - 0x2d], 0
je 0x10006e5b
push ebx
push 1
push 0x1510
push 0x2f36
push 0x7e9
push 0x5ef5
push ebx
push 0x45fd
mov edx, 0x23d5
mov ecx, 0x673b
call fcn.10004e4d
add esp, 0x20
dec dword [ebp - 0x1c]
jmp 0x10006b47
push 0x7c
pop eax
push 2
mov byte [ebp - 0x40], bl
mov byte [ebp - 0x3f], 0x58
mov word [ebp - 0x58], ax
pop esi
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x28], esi
cmp esi, 2
jae 0x10006f49
mov dword [ebp - 0x34], 0x17c3
cmp dword [ebp - 0x34], 0x1b58
jle 0x10006ed1
mov edi, ebx
mov dword [ebp - 0x2c], ebx
mov esi, ebx
mov dword [ebp - 0x20], edi
mov ebx, 0x5939
mov eax, edi
mov ecx, 0x100742b8
cdq
push edx
push eax
call fcn.1000793a
add edi, esi
dec ebx
jne 0x10006ea2
mov edi, dword [ebp - 0x2c]
dec esi
cmp esi, 0xffffdc03
jg 0x10006e9a
inc edi
mov dword [ebp - 0x2c], edi
cmp edi, 0x7feb
jl 0x10006e98
mov esi, dword [ebp - 0x28]
movzx edx, byte [ebp + esi - 0x3f]
mov eax, esi
sub eax, dword [ebp - 0x24]
movzx eax, byte [ebp + eax - 0x42]
movzx ecx, word [ebp + eax*2 - 0x58]
mov eax, ecx
and eax, edx
add eax, eax
sub ecx, eax
movzx eax, byte [ebp + esi - 0x40]
add ecx, edx
mov dword [ebp - 4], 8
cmp dword [ebp - 0x34], 0x1757
mov word [ebp + eax*2 - 0x58], cx
jge 0x10006f18
mov edx, str.ybzczemp_yuhvp_tetmh_hpqaz_tofzvgz_zfxzbv_zxvgilf_lqqgoear
mov ecx, 0x100742b8
call fcn.10009c90
or dword [ebp - 4], 0xffffffff
add esi, 2
jmp 0x10006e77
xor eax, eax
mov word [ebp - 0x56], ax
mov dword [ebp - 0x18], 2
mov dword [ebp - 0x1c], 0xfffffffb
mov dword [ebp - 0x14], ebx
jmp 0x10006f70
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x54], 0x8884515f
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 1
jl 0x10006f62
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], 0x1a
jle 0x1000716f
mov dword [ebp - 0x20], 0x4f31
cmp dword [ebp - 0x20], 0x52c6
jle 0x10007011
mov esi, ebx
mov dword [ebp - 0x14], ebx
mov edi, esi
mov dword [ebp - 0x28], 0x2184
mov dword [ebp - 0x24], edi
mov eax, edi
mov dword [ebp - 0x34], 0x2ef8
mov dword [ebp - 0x2c], eax
mov esi, eax
mov edi, 0x6438
mov eax, esi
lea ecx, [ebp - 0x124]
cdq
push edx
push eax
call fcn.1000207f
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10006fd1
mov eax, dword [eax]
push eax
call fcn.10042041
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x124]
call fcn.100022c2
dec esi
dec edi
jne 0x10006fb7
mov eax, dword [ebp - 0x2c]
dec eax
dec dword [ebp - 0x34]
mov dword [ebp - 0x2c], eax
jne 0x10006fb0
mov edi, dword [ebp - 0x24]
dec edi
dec dword [ebp - 0x28]
mov dword [ebp - 0x24], edi
jne 0x10006fa4
mov esi, dword [ebp - 0x14]
inc esi
mov dword [ebp - 0x14], esi
cmp esi, 0x7821
jl 0x10006f98
mov dword [ebp - 0x24], 0x3948
cmp dword [ebp - 0x20], 0x4e94
jge 0x1000702c
push str.icbhv_hekw_sozpdpmeu_mdtagpm_kzscaasy_zcd_lgmrg_owd_umoocdae_orl_zhm
call fcn.10042041
pop ecx
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x14], 0x72a3
cmp dword [ebp - 0x14], 0x74d8
jle 0x100070be
mov dword [ebp - 0x28], ebx
mov edi, ebx
mov esi, ebx
mov dword [ebp - 0x34], ebx
mov ecx, esi
mov dword [ebp - 0x2c], 0x4392
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0x20], ecx
mov eax, edi
shl eax, cl
lea ecx, [ebp - 0x13c]
and eax, esi
cdq
push edx
push eax
call fcn.1000207f
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10007077
mov eax, dword [eax]
push eax
call fcn.10042041
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x13c]
call fcn.100022c2
mov ecx, dword [ebp - 0x20]
dec ecx
dec dword [ebp - 0x2c]
mov dword [ebp - 0x20], ecx
jne 0x10007059
mov esi, dword [ebp - 0x34]
inc esi
mov dword [ebp - 0x34], esi
cmp esi, 0x6391
jl 0x1000704a
inc edi
cmp edi, 0x5734
jl 0x10007045
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp eax, 0x321e
jl 0x10007043
mov dword [ebp - 0x20], 0xfffffffd
cmp dword [ebp - 0x14], 0x71da
jge 0x100070d9
push str.egshlw_itotjfnw_wfxlb_vqjbm_oudgfdqtn_lccttbhb
call fcn.10042041
pop ecx
or dword [ebp - 4], 0xffffffff
xor ecx, ecx
inc ecx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x14], ebx
jmp 0x100070f9
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x8c], 0xbdebf889
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x100070e8
push ecx
lea eax, [ebp - 0x41]
mov byte [ebp - 0x41], bl
push eax
push ecx
push ecx
xor dl, dl
mov ecx, 0x5f28
call fcn.10004223
mov eax, dword [ebp - 0x18]
xor edx, edx
mov eax, dword [ebp - 0x24]
add esp, 0x10
add eax, dword [ebp - 0x18]
cmp eax, 0x1ba0
setle dl
xor eax, eax
mov dword [ebp - 0x54], edx
mov ecx, dword [ebp - 0x20]
add ecx, dword [ebp - 0x24]
add ecx, dword [ebp - 0x18]
cmp edx, ecx
setle al
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x1c]
jg 0x10007155
cmp dword [ebp - 0x24], ebx
je 0x10007155
xor eax, eax
inc eax
jmp 0x10007157
mov eax, ebx
xor ecx, ecx
add eax, 8
cmp eax, 0xfc80
setg cl
mov dword [ebp - 0x2c], ecx
inc dword [ebp - 0x18]
jmp 0x10006f79
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], ebx
jl 0x10007234
mov dword [ebp - 0x20], 1
mov dword [ebp - 0x20], 1
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], ebx
jl 0x1000722b
mov dword [ebp - 0x14], 0x53e3f36a
mov dword [ebp - 0x20], 0xac06e326
mov dword [ebp - 0x84], 1
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], ebx
jl 0x100071e4
push 0x3f18
lea eax, [ebp - 0x49]
mov byte [ebp - 0x49], bl
push eax
push 0x6df0
push 1
push ebx
mov edx, 0x3285
mov cl, 1
call fcn.10004ca9
add esp, 0x14
dec dword [ebp - 0x14]
jns 0x100071bc
mov dword [ebp - 0x14], ebx
jmp 0x1000721d
mov eax, dword [ebp - 0x1c]
cmp dword [ebp + eax*4 - 0x54], ebx
jne 0x10007222
push 0x7fb1
lea eax, [ebp - 0x84]
mov dl, 1
push eax
push 0x329e
push 0x6576
push ebx
push 0x1679
mov cl, dl
call fcn.10005000
add esp, 0x18
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jle 0x100071e9
dec dword [ebp - 0x18]
jns 0x1000719c
dec dword [ebp - 0x1c]
jns 0x1000717b
xor eax, eax
mov dword [ebp - 0xe8], 7
mov word [ebp - 0xfc], ax
lea ecx, [ebp - 0xfc]
lea eax, [ebp - 0x58]
mov dword [ebp - 0xec], ebx
push eax
call fcn.10008268
mov edx, dword [ebp - 0x48]
lea eax, [ebp - 0xfc]
push eax
lea ecx, [ebp - 0x9c]
mov dword [ebp - 4], 0xe
call fcn.100036d0
pop ecx
push ebx
push 1
lea ecx, [ebp - 0xfc]
mov byte [ebp - 4], 0x10
call fcn.1000242e
mov dword [ebp - 0x2c], 0x64a9
cmp dword [ebp - 0x2c], 0x67fa
jle 0x100072e9
mov esi, ebx
mov dword [ebp - 0x20], ebx
mov edi, esi
mov esi, 0x1612
mov eax, edi
lea ecx, [ebp - 0x16c]
cdq
push edx
push eax
call fcn.1000207f
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x100072c1
mov eax, dword [eax]
push eax
call fcn.10042041
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x16c]
call fcn.100022c2
dec edi
dec esi
jne 0x100072a7
mov esi, dword [ebp - 0x20]
inc esi
mov dword [ebp - 0x20], esi
cmp esi, 0x1ae8
jl 0x100072a0
mov dword [ebp - 0x3c], 0x7f6af112
lea ecx, [ebp - 0xc0]
push 2
call fcn.10001c0f
lea eax, [ebp - 0xc0]
mov byte [ebp - 4], 0x11
push eax
push ecx
lea edx, [ebp - 0xe4]
mov cl, 1
call fcn.10003b1f
pop ecx
pop ecx
mov dword [ebp - 0x3c], 0xfffffffd
jmp 0x1000735a
push ecx
lea eax, [ebp - 0x4a]
mov dword [ebp - 0x90], 0xc19c5a65
mov byte [ebp - 0x4a], bl
mov dl, 1
push eax
mov ecx, 0x44e4
call fcn.10003b7f
pop ecx
lea eax, [ebp - 0x90]
xor dl, dl
push eax
push ecx
mov ecx, 0x4260
call fcn.10005539
add esp, 0xc
dec dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 0xffffffea
jle 0x10007321
mov dword [ebp - 0x3c], 1
cmp dword [ebp - 0x3c], ebx
jl 0x10007389
push ecx
push 0x2cb5
push ebx
lea edx, [ebp - 0x3c]
lea ecx, [ebp - 0xc0]
call fcn.100054b3
add esp, 0xc
dec dword [ebp - 0x3c]
jns 0x1000736c
lea ecx, [ebp - 0xc0]
call fcn.10001c92
cmp dword [ebp - 0x2c], 0x6117
jge 0x100073a8
push str.gwrxpctd_antllp_vzbgf_nnqq
call fcn.10042041
pop ecx
mov dword [ebp - 4], 0x10
mov ecx, ebx
push 0xd
pop eax
push 2
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x64], 0x2d031401
mov word [ebp - 0x60], 0xec01
mov byte [ebp - 0x5e], bl
mov word [ebp - 0x5d], 0x229
mov byte [ebp - 0x5b], 3
mov word [ebp - 0x7a], ax
pop esi
mov dword [ebp - 0x70], ecx
cmp esi, 4
jne 0x100073e8
push 2
pop ecx
mov dword [ebp - 0x70], ecx
jmp 0x10007441
movzx edx, byte [ebp + esi - 0x63]
mov eax, esi
sub eax, ecx
movzx eax, byte [ebp + eax - 0x66]
movzx ecx, word [ebp + eax*2 - 0x7c]
mov eax, ecx
and eax, edx
add eax, eax
sub ecx, eax
movzx eax, byte [ebp + esi - 0x64]
add ecx, edx
mov edx, 0x174f
push ecx
push 0x2868
mov word [ebp + eax*2 - 0x7c], cx
lea eax, [ebp - 0x70]
push eax
push ecx
push ecx
push 1
push 0x363c
push 0xa7d
push 0x5949
mov ecx, 0x735f
call fcn.100037ab
mov ecx, dword [ebp - 0x70]
add esp, 0x24
add esi, 2
cmp esi, 0xa
jb 0x100073db
xor eax, eax
mov dword [ebp - 0xc4], 7
mov word [ebp - 0x74], ax
lea ecx, [ebp - 0xd8]
mov word [ebp - 0xd8], ax
lea eax, [ebp - 0x7c]
push eax
mov dword [ebp - 0xc8], ebx
call fcn.10008268
mov byte [ebp - 4], 0x14
mov dword [ebp - 0x14], 0xfffd
mov dword [ebp - 0x18], 0xfd4914d2
mov dword [ebp - 0x14], 0x4801
mov eax, dword [ebp - 0x18]
add eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x18], ebx
jmp 0x10007529
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], ebx
je 0x100074de
push 0x1ad
push ecx
mov dword [ebp - 0x20], 0xfffffffe
push 0x1cb7
mov dword [ebp - 0x48], 0xa6957688
mov eax, dword [ebp - 0x1c]
push ecx
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
push ecx
push ebx
mov ecx, 0x71c6
mov dword [ebp - 0x48], eax
call fcn.100051ee
add esp, 0x18
jmp 0x10007526
mov dword [ebp - 0x14], ebx
jmp 0x1000751b
mov dword [ebp - 0x1c], 0xffffffe6
jmp 0x10007512
push 1
push ebx
push 0x13c6
lea eax, [ebp - 0x4b]
mov byte [ebp - 0x4b], bl
push eax
push 1
mov edx, 0x20f6
mov ecx, 0x56f4
call fcn.100049f7
add esp, 0x14
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x28
jne 0x100074ec
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x2b
jle 0x100074e3
cmp dword [ebp - 0x14], ebx
jne 0x10007533
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 1
jne 0x1000749f
xor eax, eax
lea edi, [ebp - 0x7c]
stosd dword es:[edi], eax
xor edx, edx
push 0xfffffffffffffffb
stosd dword es:[edi], eax
stosw word es:[edi], ax
mov dword [ebp - 0x18], 0x4b733c63
mov dword [ebp - 0x20], 0xd0881826
mov dword [ebp - 0x20], 0xb38b4b72
mov dword [ebp - 0x24], 8
pop edi
mov dword [ebp - 0x68], edi
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, 0xd1649bc0
setg cl
cmp eax, ecx
sbb eax, eax
neg eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0xcaad901
jl 0x1000758f
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x20], 0xc8f9
mov eax, dword [ebp - 0x20]
cmp eax, 0x519d
setl cl
xor edx, edx
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, 0xfff9
setl cl
sub ecx, dword [ebp - 0x18]
neg ecx
sbb ecx, ecx
neg ecx
cmp eax, ecx
mov eax, dword [ebp - 0x18]
sbb ecx, ecx
xor edx, edx
neg ecx
cmp eax, ecx
setge dl
sub edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setge cl
xor eax, eax
cmp eax, ecx
sbb eax, eax
neg eax
imul eax, dword [ebp - 0x18]
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x68], ebx
je 0x10007657
push 0x14a8
lea eax, [ebp - 0x68]
mov dword [ebp - 0x88], ebx
push eax
push 0x3bb
push ecx
mov edx, 0x4468
mov cl, 1
call fcn.10003c3a
lea eax, [ebp - 0x88]
mov edx, 0x355a
push eax
push 0x7b1c
lea eax, [ebp - 0x68]
xor cl, cl
push eax
push 1
push 1
call fcn.10004ca9
add esp, 0x24
jmp 0x10007664
mov dword [ebp - 0x48], 0xa2d3c5eb
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x98]
sub eax, dword [ebp - 0x9c]
push 0x18
cdq
pop ecx
idiv ecx
mov dword [ebp - 0x6c], ebx
mov esi, eax
test esi, esi
je 0x100076c7
push 0x7079
push 1
push 0x7c21
lea eax, [ebp - 0x6c]
mov edx, 0x490b
push eax
lea eax, [ebp - 0xd8]
mov ecx, 0x5cde
push eax
push 0x3add
push ebx
lea eax, [ebp - 0x9c]
push eax
push 0x21ba
push 1
call fcn.10006282
mov eax, dword [ebp - 0x6c]
add esp, 0x28
inc eax
mov dword [ebp - 0x6c], eax
cmp eax, esi
jb 0x1000767f
mov dword [ebp - 0x14], 0x6fe7d8a8
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x1c], ebx
jmp 0x100076e7
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x10c], 0x540d
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x100076d6
push 3
pop eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
jl 0x1000774f
mov dword [ebp - 0x1c], 0x3b9da4d0
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], ebx
jl 0x10007743
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], ebx
jl 0x10007723
mov eax, dword [ebp - 0x1c]
cmp dword [ebp + eax*4 - 0x10c], ebx
jne 0x10007723
dec dword [ebp - 0x28]
jns 0x10007712
mov byte [ebp - 0x2d], bl
cmp byte [ebp - 0x2d], 0
je 0x1000773b
push 1
push ecx
mov ecx, 0x2ea0
call fcn.10003bd0
pop ecx
pop ecx
dec dword [ebp - 0x1c]
push 3
pop eax
jns 0x10007707
mov dword [ebp - 0x48], 0x4e677b56
dec dword [ebp - 0x14]
jns 0x100076f8
mov ecx, dword [ebp - 0x80]
lea eax, [ebp - 0x9c]
push eax
call fcn.10007ccc
push ebx
push 1
lea ecx, [ebp - 0xd8]
call fcn.1000242e
lea ecx, [ebp - 0x9c]
call fcn.1000847b
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret