Function at 0x10001200
Capabilities:
Get common file path

Disassembly:
mov ecx, dword [0x10069f18]
mov eax, dword [0x10069f28]
movzx edx, byte [0x10069e58]
sub esp, 0x18
imul ecx, eax
push ebx
push ebp
mov ebp, dword [esp + 0x24]
push esi
lea ebx, [edx + ebp + 8]
push edi
mov edi, dword [0x10069e54]
mov dword [0x10069f18], ecx
lea ecx, [ebx + eax + 8]
mov esi, 0x10069ef4
cmp edi, dword [str.Y0k_]
je 0x10001268
mov ax, word [esi]
imul cx, ax
movzx eax, cx
sub eax, edi
sub eax, 0x5b
cmp eax, dword [0x10069ef4]
mov dword [0x10069f28], eax
je 0x10001268
add esi, 4
cmp esi, 0x10069f64
jl 0x10001239
mov eax, dword [0x10069ee0]
sub eax, ebp
sub eax, 0x60
add cx, ax
mov word [0x10069e5c], cx
movzx ecx, cx
sub edx, ecx
lea ebx, [ebx + edx - 0x60]
mov eax, ebx
mov dword [0x10078a60], 0x1006b958
call fcn.1000a9b0
mov esi, dword [0x10069ef4]
mov ecx, dword [0x10069f28]
mov ebp, eax
mov ax, word [0x10069e5c]
mov dword [0x10069ee0], ebp
mov edx, 0x10069ef4
cmp edi, dword [str.Y0k_]
je 0x100012db
mov cx, word [edx]
imul ax, cx
movzx ecx, ax
sub ecx, edi
sub ecx, 0x5b
cmp ecx, esi
je 0x100012db
add edx, 4
cmp edx, 0x10069f64
jl 0x100012b5
mov word [0x10069e5c], ax
mov edx, ecx
sub edx, dword [0x10069e5c]
mov dword [0x10069f28], ecx
sub edx, 0xd0b
sub bl, dl
sub bl, 0x5b
movzx esi, dx
mov word [0x10069e5c], dx
movzx edx, bl
mov byte [0x10069e58], bl
lea ebx, [edx + esi + 8]
cmp ebx, ecx
mov dword [0x10069ee4], ebx
jb 0x1000133c
mov eax, ebp
imul eax, dword [0x10069f18]
mov edx, ecx
shl edx, 4
sub edx, ecx
add edx, edx
sub ebp, edx
mov ebx, ebp
mov dword [0x10069f18], eax
mov dword [0x10069ee4], ebx
call fcn.1000a6a0
movzx ecx, byte [0x10069e58]
mov edx, dword [0x10069ee4]
sub ecx, esi
lea ecx, [edx + ecx - 0x60]
mov edx, dword [0x10069f1c]
sub edx, dword [0x10069f0c]
mov dword [0x10069ee0], eax
cmp edx, 0x1d2
mov dword [0x10069ee4], ecx
jne 0x10001396
mov edx, dword [0x10069f28]
mov esi, eax
imul esi, edx
imul esi, esi, 0x1078a
lea ecx, [edx + edx + 8]
mov dword [0x10069ee4], ecx
mov dword [0x10069f28], esi
jmp 0x100013b0
mov esi, dword [0x10069f28]
mov edx, ecx
sub edx, dword [0x10069f24]
sub edx, eax
lea edx, [esi + edx - 2]
mov dword [0x10069f28], edx
push eax
push ecx
call fcn.100010c0
mov ebp, dword [0x10069e54]
mov ecx, dword [0x10069f28]
add esp, 8
cmp dword [0x10069f00], ebp
ja 0x100013d4
mov dword [0x10069f08], ecx
mov eax, 0xe
sub eax, ecx
cmp dword [0x10069ee8], 0x2164
mov dword [esp + 0x18], 0x21ba387
jne 0x10001402
add ecx, dword [0x10069f20]
mov edx, ecx
imul edx, ecx
imul edx, edx, 0x1078a
mov ecx, edx
movzx edx, byte [0x10069e58]
movzx eax, ax
lea ebx, [edx + eax + 8]
mov edx, dword [0x10069f1c]
sub edx, dword [0x10069f0c]
mov dword [0x10069ee4], ebx
cmp edx, 0x1d2
jne 0x1000143c
mov eax, ebp
imul eax, ecx
imul eax, eax, 0x1078a
mov dword [0x10069f28], eax
jmp 0x1000144e
sub eax, dword [0x10069f24]
sub eax, ebp
lea ecx, [ecx + eax - 2]
mov dword [0x10069f28], ecx
call fcn.1000a6a0
mov esi, dword [0x10069f28]
movzx ecx, byte [0x10069e58]
mov ebx, dword [0x10069ee4]
mov edi, eax
mov eax, 0xe
sub eax, esi
mov word [0x10069e5c], ax
movzx eax, ax
mov edx, ecx
sub edx, eax
lea ebx, [ebx + edx - 0x60]
mov edx, dword [0x10069f1c]
sub edx, dword [0x10069f0c]
mov dword [0x10069ee0], edi
cmp edx, 0x1d2
mov dword [esp + 0x24], 0xe
mov dword [esp + 0x20], 0x64
jne 0x100014c1
mov edx, ebp
imul edx, esi
lea eax, [esi + esi + 8]
imul edx, edx, 0x1078a
mov word [0x10069e5c], ax
jmp 0x100014cd
sub eax, dword [0x10069f24]
sub eax, ebp
lea edx, [esi + eax - 2]
mov eax, dword [0x10069e5c]
add eax, eax
sub eax, edx
sub eax, 0x60
cmp dword [0x10069ee8], 0x2164
mov dword [0x10069f28], edx
mov word [0x10069e5c], ax
mov dword [esp + 0x1c], 0xb9
mov dword [esp + 0x14], 0
jne 0x1000151a
add edx, dword [0x10069f20]
mov eax, edx
imul eax, edx
imul eax, eax, 0x1078a
mov edx, eax
mov dword [0x10069f28], edx
mov eax, dword [0x10069e5c]
mov esi, eax
shl esi, 4
sub esi, eax
add esi, esi
mov eax, edx
sub eax, esi
mov esi, dword [0x10069f20]
cmp esi, 5
je 0x10001549
mov edx, edi
sub edx, ecx
add edx, 0xf2f5
mov dword [0x10069f28], edx
jmp 0x10001555
sub ecx, edi
add ecx, edx
mov edi, ecx
mov dword [0x10069ee0], edi
movzx ecx, ax
cmp ecx, edx
jb 0x1000156a
mov eax, ebp
imul eax, dword [0x10069f18]
mov dword [0x10069f18], eax
mov eax, 0xe
sub eax, edx
cmp dword [0x10069f00], edi
mov word [0x10069e5c], ax
ja 0x10001585
mov dword [0x10069f08], edx
cmp esi, 5
je 0x1000159f
movzx eax, ax
mov edx, ebp
sub edx, eax
add edx, 0xf2f5
mov dword [0x10069f28], edx
jmp 0x100015b0
movzx ecx, ax
sub ecx, ebp
add ecx, edx
mov ebp, ecx
mov dword [0x10069e54], ebp
mov edi, edi
sub bl, byte [0x10069e5c]
sub bl, 0x5b
cmp dword [0x10069ee8], 0x2164
mov byte [0x10069e58], bl
jne 0x100015e4
add edx, dword [0x10069f20]
mov eax, edx
imul eax, edx
imul eax, eax, 0x1078a
mov edx, eax
mov dword [0x10069f28], edx
mov ecx, dword [0x10069f00]
mov esi, 0xe
sub esi, edx
cmp ecx, edx
mov dword [esp + 0x10], esi
ja 0x10001601
movzx eax, si
mov dword [0x10069f08], eax
movzx eax, si
cmp eax, edi
jbe 0x1000163e
lea esi, [edx + ebp]
add esi, esi
sub esi, edx
sub esi, 0x50
xor eax, eax
test edi, edi
sete al
mov word [0x10069e5c], si
test eax, eax
je 0x1000163e
sub al, byte [0x10069e5c]
sub al, 2
cmp ecx, edx
mov bl, al
mov byte [0x10069e58], bl
ja 0x1000163e
mov dword [0x10069f08], ebp
movzx eax, bl
mov ecx, 0xfffe
sub ecx, edx
add si, cx
mov ebp, eax
shl ebp, 4
movzx ecx, si
sub ebp, eax
add ebp, ebp
mov eax, ecx
sub eax, ebp
cmp eax, ecx
mov word [0x10069e5c], si
mov dword [0x10069ee4], eax
jae 0x1000167e
mov bl, byte [0x10069e5c]
add bl, 1
add bl, bl
mov byte [0x10069e58], bl
jmp 0x100016a2
cmp eax, edx
jb 0x100016a2
mov eax, edi
imul eax, dword [0x10069f18]
mov ecx, edx
shl ecx, 4
sub ecx, edx
mov dword [0x10069f18], eax
add ecx, ecx
mov eax, edi
sub eax, ecx
mov dword [0x10069ee4], eax
mov ebp, dword [esp + 0x18]
cmp ebp, 1
jb 0x100017c6
cmp ebp, 0xbb
mov ax, word [esp + 0x10]
mov word [0x10069e5c], ax
jae 0x10001703
cmp dword [0x10069f00], edx
ja 0x100016dc
movzx eax, ax
lea ecx, [eax + edx + 8]
mov dword [0x10069f08], eax
mov dword [0x10069ee4], ecx
push 0x10
call dword [sym.imp.KERNEL32.dll_Sleep]
mov edx, dword [0x10069ee4]
sub edx, dword [0x10069ee0]
mov bl, byte [0x10069e58]
sub edx, 0xd0b
mov word [0x10069e5c], dx
mov al, byte [0x10069e5c]
imul bl
mov cl, 0x8a
imul cl
mov byte [0x10069e58], al
call fcn.1000a830
mov edx, dword [0x10069f1c]
sub edx, dword [0x10069f0c]
cmp edx, 0x1d2
jne 0x1000173d
mov al, byte [0x10069e5c]
imul byte [0x10069e58]
mov cl, 0x8a
imul cl
jmp 0x10001759
mov dl, byte [0x10069ee4]
sub dl, byte [0x10069f24]
mov al, byte [0x10069e58]
sub dl, byte [0x10069e5c]
sub dl, 2
add al, dl
mov edx, dword [0x10069f28]
mov cx, word [0x10069e5c]
lea esi, [edx + 8]
add cx, si
mov word [0x10069e5c], cx
movzx ecx, cx
movzx eax, al
mov ebx, ecx
sub ebx, eax
add ebx, 0xf2f5
mov edi, ebx
sub ebp, 1
sub edi, edx
sub edi, 0x5b
cmp ebx, eax
mov dword [esp + 0x18], ebp
mov ebp, dword [0x10069e54]
mov dword [0x10069ee0], edi
jb 0x100015b0
mov esi, ecx
imul esi, dword [0x10069f18]
mov dword [0x10069f18], esi
mov esi, eax
shl esi, 4
sub esi, eax
add esi, esi
sub ecx, esi
mov ebx, ecx
jmp 0x100015b0
movzx eax, bl
mov ecx, eax
shl ecx, 4
movzx ebp, si
sub ecx, eax
add ecx, ecx
mov eax, ebp
sub eax, ecx
cmp eax, ebp
jbe 0x1000183d
sub al, byte [0x10069e5c]
mov ecx, dword [0x10069f1c]
sub ecx, dword [0x10069f0c]
sub al, 2
mov bl, al
lea eax, [edx + 8]
add si, ax
cmp ecx, 0x1d2
jne 0x10001818
mov ebp, dword [0x10069e54]
imul ebp, edx
imul ebp, ebp, 0x1078a
mov dword [0x10069e54], ebp
jmp 0x10001843
movzx ecx, bl
movzx eax, si
sub eax, ecx
sub eax, dword [0x10069f24]
mov ecx, dword [0x10069e54]
sub eax, edx
lea ebp, [ecx + eax + 0xf2f3]
mov dword [0x10069e54], ebp
jmp 0x10001843
mov ebp, dword [0x10069e54]
cmp dword [0x10069f20], 5
je 0x1000185b
movzx eax, si
mov edx, ebp
sub edx, eax
add edx, 0xf2f5
jmp 0x1000186a
movzx ecx, si
sub ecx, ebp
add ecx, edx
mov ebp, ecx
mov dword [0x10069e54], ebp
mov esi, 0xe
sub esi, edx
movzx ecx, si
imul ecx, edx
imul ecx, ecx, 0x1078a
mov word [0x10069e5c], si
mov dword [esp + 0x18], 0x21ba387
mov dword [0x10069f28], ecx
mov eax, 0x10069f70
cmp ebp, dword [0x10069ea0]
jne 0x100018a9
xor edx, edx
cmp edx, dword [0x10069ea4]
je 0x100018da
sub dword [eax], ebp
mov edx, 0
mov bp, 0xe
sbb dword [eax + 4], edx
movzx dx, bl
sub bp, dx
mov dx, bp
mov ebp, dword [0x10069e54]
sub dx, bp
add dx, dx
sub eax, 0x10
add si, dx
cmp eax, 0x10069e78
jg 0x10001897
movzx edx, si
movzx eax, bl
sub edx, eax
add edx, 0xf2f5
cmp dword [0x10069f20], 5
mov word [0x10069e5c], si
je 0x10001904
mov edi, edx
sub edi, ecx
add edi, 0xf2f5
jmp 0x1000190c
mov eax, edi
sub eax, edx
add eax, ecx
mov edx, eax
mov eax, dword [0x10069ec8]
sub eax, dword [0x10069ea8]
mov ebp, dword [0x10069ecc]
sbb ebp, dword [0x10069eac]
cmp eax, 0x1d2
jne 0x1000194c
test ebp, ebp
jne 0x1000194c
mov al, dl
imul bl
movzx si, bl
add si, 4
mov bl, 0x8a
add si, si
imul bl
mov word [0x10069e5c], si
mov bl, al
jmp 0x1000195d
mov al, byte [0x10069e5c]
sub al, byte [0x10069ed8]
sub al, dl
sub al, 2
add bl, al
mov eax, 0x10066d48
sub eax, 0x1007a0cc
lea edx, [edx + eax + 0x10042a90]
movzx ebp, si
movzx eax, bl
sub ebp, eax
add ebp, 0xf2f5
cmp dword [0x10069ed0], 5
mov byte [0x10069e58], bl
mov dword [0x10069e54], ebp
jne 0x1000199a
cmp dword [0x10069ed4], 0
je 0x100019ad
mov bl, byte [0x10069e5c]
sub bl, dl
sub bl, 0xb
mov byte [0x10069e58], bl
jmp 0x100019c1
movzx ax, bl
sub ax, si
add ax, dx
mov si, ax
mov word [0x10069e5c], si
add dword [esp + 0x14], 1
mov eax, ecx
sub eax, edi
movzx edx, bl
add eax, 0xf2f5
cmp eax, edx
jb 0x100019f9
movzx eax, si
mov ebp, eax
imul ebp, dword [0x10069f18]
mov dword [0x10069f18], ebp
mov ebp, edx
shl ebp, 4
sub ebp, edx
add ebp, ebp
sub eax, ebp
mov ebp, dword [0x10069e54]
cmp eax, 0x2fba
jbe 0x10001a0d
mov edx, edi
shl edx, 4
sub edx, edi
add edx, edx
mov eax, ecx
sub eax, edx
cmp dword [0x10069ee8], 0x2164
jne 0x10001a3f
add si, word [0x10069f20]
mov word [0x10069e5c], si
mov edx, dword [0x10069e5c]
mov esi, edx
imul esi, edx
imul esi, esi, 0x78a
mov word [0x10069e5c], si
cmp dword [esp + 0x14], 0x63
jge 0x10001af5
sub edi, ecx
movzx dx, bl
cmp si, dx
lea eax, [eax + edi - 0x60]
mov dword [0x10069ee4], eax
jb 0x10001a83
mov edi, dword [esp + 0x14]
mov esi, dword [0x10069f18]
imul esi, edi
mov dword [0x10069f18], esi
mov esi, edx
shl esi, 4
sub esi, edx
add esi, esi
sub edi, esi
mov word [0x10069e5c], di
sub eax, ecx
push 0x1006aaf8
sub eax, 2
push 0x680
mov dword [0x10069ee0], eax
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
mov edi, dword [0x10069ee0]
mov ecx, dword [0x10069f28]
mov si, word [0x10069e5c]
mov edx, 0xe
sub edx, edi
sub edx, ecx
add eax, edx
cmp dword [0x10069f20], 5
je 0x10001ad9
mov bl, byte [esp + 0x14]
sub bl, byte [0x10069e5c]
sub bl, 0xb
mov byte [0x10069e58], bl
jmp 0x10001aef
mov bl, byte [0x10069e58]
movzx edx, si
movzx ebp, bl
add edx, ebp
sub edx, dword [esp + 0x14]
mov dword [esp + 0x14], edx
mov ebp, dword [0x10069e54]
mov edx, edi
sub edx, ecx
lea eax, [eax + edx - 0x60]
movzx edx, bl
cmp eax, edx
mov dword [0x10069ee4], eax
jb 0x10001b34
movzx eax, si
mov edx, eax
imul edx, dword [0x10069f18]
mov dword [0x10069f18], edx
movzx edx, bl
mov ebp, edx
shl ebp, 4
sub ebp, edx
add ebp, ebp
sub eax, ebp
mov ebp, dword [0x10069e54]
mov dword [0x10069ee4], eax
cmp dword [esp + 0x20], 7
jae 0x10001b4e
mov eax, ecx
sub eax, edi
add eax, 0xf2f5
sub dword [esp + 0x20], 1
mov dword [0x10069ee4], eax
cmp dword [0x10069f00], ecx
ja 0x10001b67
movzx eax, si
mov dword [0x10069f08], eax
lea eax, [eax + ecx + 8]
mov dword [0x10069ee4], eax
mov edx, ebp
sub edx, dword [esp + 0x1c]
sub edx, 2
cmp edx, 0x8e96
mov dword [0x10069ee0], edx
jbe 0x10001c74
mov eax, edx
shl eax, 4
sub eax, edx
add eax, eax
mov edi, eax
mov eax, ecx
sub eax, edi
movzx edi, si
cmp ebp, edi
mov dword [0x10069ee4], eax
jne 0x10001c5b
mov esi, dword [0x10069f20]
cmp esi, 5
je 0x10001bb7
mov bl, byte [0x10069e5c]
sub bl, al
sub bl, 0xb
cmp dword [0x10069f00], edx
mov dword [esp + 0x10], edx
ja 0x10001bd3
lea edx, [edx + ecx + 8]
mov dword [0x10069f08], ecx
mov dword [0x10069ee0], edx
mov al, 0xe
sub al, cl
sub al, dl
add bl, al
cmp esi, 5
mov byte [0x10069e58], bl
je 0x10001bf5
mov bl, byte [esp + 0x10]
sub bl, dl
sub bl, 0xb
mov byte [0x10069e58], bl
mov esi, dword [esp + 0x2c]
movzx ebp, bl
mov eax, ebp
sub eax, esi
sub eax, 0x5b
mov ecx, eax
shl ecx, 4
sub ecx, eax
add ecx, ecx
sub esi, ecx
mov ecx, edx
imul ecx, edx
imul ecx, eax
imul ecx, ecx, 0xf4cd664
movzx edi, si
cmp ecx, edi
mov word [0x10069e5c], si
jb 0x10001c47
mov eax, ebp
imul eax, dword [0x10069f18]
mov ecx, edi
shl ecx, 4
sub ecx, edi
add ecx, ecx
mov dword [0x10069f18], eax
mov eax, ecx
mov ecx, ebp
sub ecx, eax
mov eax, edi
sub eax, ebp
mov ebp, dword [0x10069e54]
add eax, 0xf2f5
mov dword [0x10069ee4], eax
cmp dword [0x10069f00], ecx
ja 0x10001c79
lea eax, [edi + ecx + 8]
mov dword [0x10069f08], edi
mov dword [0x10069ee4], eax
jmp 0x10001c79
mov eax, dword [0x10069ee4]
cmp dword [0x10069ee8], 0x2164
jne 0x10001c98
add ecx, dword [0x10069f20]
mov edi, ecx
imul edi, ecx
imul edi, edi, 0x1078a
mov ecx, edi
cmp dword [esp + 0x1c], 0x12
jae 0x10001d2d
cmp dword [0x10069ee8], 0x2164
jne 0x10001cca
add edx, dword [0x10069f20]
mov dword [0x10069ee0], edx
imul edx, edx
imul edx, edx, 0x1078a
mov dword [0x10069ee0], edx
mov edi, dword [0x10069f1c]
sub edi, dword [0x10069f0c]
cmp edi, 0x1d2
jne 0x10001cf3
lea ebp, [ecx + ecx + 8]
imul ecx, eax
mov dword [0x10069e54], ebp
imul ecx, ecx, 0x1078a
jmp 0x10001d01
mov edi, ebp
sub edi, dword [0x10069f24]
sub edi, eax
lea ecx, [ecx + edi - 2]
sub dword [esp + 0x1c], 1
cmp dword [0x10069ee8], 0x2164
jne 0x10001d2d
add edx, dword [0x10069f20]
mov dword [0x10069ee0], edx
imul edx, edx
imul edx, edx, 0x1078a
mov dword [0x10069ee0], edx
cmp dword [0x10069f20], 5
je 0x10001d42
mov ecx, edx
sub ecx, eax
add ecx, 0xf2f5
jmp 0x10001d50
mov edi, ecx
sub edi, edx
add edi, eax
mov edx, edi
mov dword [0x10069ee0], edx
mov edi, dword [0x10069f1c]
sub edi, dword [0x10069f0c]
cmp edi, 0x1d2
jne 0x10001d87
movzx eax, si
lea eax, [eax + eax + 8]
mov dword [0x10069ee4], eax
mov eax, ecx
imul eax, dword [0x10069e5c]
imul eax, eax, 0x78a
mov word [0x10069e5c], ax
jmp 0x10001da2
sub eax, dword [0x10069f24]
mov edx, dword [0x10069ee0]
sub eax, ecx
sub eax, 2
add si, ax
mov word [0x10069e5c], si
mov eax, ecx
sub eax, dword [0x10069e5c]
sub eax, 0xd0b
cmp dword [esp + 0x18], 0
mov word [0x10069e5c], ax
jbe 0x10001e96
mov ecx, dword [esp + 0x18]
sub ecx, ebp
add ecx, 0xf2f5
mov dword [0x10069f28], ecx
call fcn.1000a830
movzx edx, word [0x10069e5c]
mov ecx, dword [0x10069f28]
cmp edx, ecx
mov edi, dword [0x10069ee0]
jb 0x10001dfe
mov eax, edi
imul eax, dword [0x10069f18]
mov dword [0x10069f18], eax
jmp 0x10001e03
mov eax, dword [0x10069f18]
sub dword [esp + 0x18], 1
mov edx, 0xe
sub edx, ecx
movzx esi, dx
mov edx, dword [esp + 0x24]
cmp edx, 9
lea ebp, [esi + edx + 8]
mov dword [0x10069e54], ebp
jae 0x10001e53
cmp dword [0x10069ee4], edi
jb 0x10001e35
imul eax, ecx
mov dword [0x10069f18], eax
mov bl, byte [0x10069e58]
sub edx, 1
imul edi, edx
mov dword [esp + 0x24], edx
imul edi, edi, 0x1078a
lea esi, [ecx - 5]
jmp 0x100019ba
cmp dword [0x10069f20], 5
je 0x10001e77
mov bl, byte [esp + 0x1c]
sub bl, byte [0x10069ee4]
lea esi, [ecx - 5]
sub bl, 0xb
mov byte [0x10069e58], bl
jmp 0x100019ba
mov bl, byte [0x10069e58]
movzx eax, bl
sub eax, dword [esp + 0x1c]
lea esi, [ecx - 5]
add eax, dword [0x10069ee4]
mov dword [esp + 0x1c], eax
jmp 0x100019ba
mov edi, dword [esp + 0x2c]
lea esi, [edx + ecx + 8]
movzx eax, ax
mov edx, edi
sub edx, eax
add edx, 0xf2f5
cmp dword [0x10069f00], eax
ja 0x10001ec0
movzx ecx, bl
mov dword [0x10069f08], ecx
lea ecx, [eax + ecx + 8]
mov eax, edx
sub eax, edi
sub eax, 0x5b
movzx eax, ax
sub eax, ecx
movzx ecx, bl
add eax, esi
cmp ecx, eax
mov dword [0x10069f28], eax
jb 0x10001efc
mov ecx, edx
imul ecx, dword [0x10069f18]
mov dword [0x10069f18], ecx
mov cl, 0x1e
imul cl
mov bl, dl
sub bl, al
mov eax, dword [0x10069f28]
mov byte [0x10069e58], bl
lea ecx, [eax + eax - 0x5fd]
mov esi, edx
sub esi, ecx
sub esi, 0x5b
mov word [0x10069e5c], si
movzx esi, si
mov dword [0x10069ee4], ecx
mov ecx, esi
sub ecx, dword [0x10069ee4]
lea edx, [edx + ecx - 0x60]
mov ecx, 5
cmp dword [0x10069f20], ecx
mov dword [0x10069ee0], edx
je 0x10001f49
sub edx, esi
add edx, 0xf2f5
mov dword [0x10069f28], edx
jmp 0x10001f55
mov edi, esi
sub edi, edx
add edi, eax
mov dword [0x10069ee0], edi
cmp dword [0x10069ed0], ecx
jne 0x10001f66
cmp dword [0x10069ed4], 0
je 0x10001f7e
mov eax, dword [0x10069ee4]
mov dl, al
sub dl, byte [0x10069e5c]
sub dl, 0xb
mov byte [0x10069e58], dl
jmp 0x10001f8e
movzx eax, bl
sub eax, dword [0x10069ee4]
add eax, esi
mov dword [0x10069ee4], eax
mov ecx, dword [0x10078a60]
push ecx
push eax
call fcn.1003fcf0
movzx ebx, byte [0x10069e58]
movzx edx, word [0x10069e5c]
lea ecx, [edx + ebx + 8]
add esp, 8
mov dword [0x10069f28], eax
mov dword [0x10069e54], ecx
mov cl, 0x50
inc ebp
push es
mov ecx, dword [0x10069ee0]
sub ecx, dword [0x10069e5c]
mov esi, dword [0x10069ee4]
mov edi, dword [0x10069ee8]
add ecx, esi
cmp edi, 0x2164
mov word [0x10069e5c], cx
jne 0x10002000
add eax, dword [0x10069f20]
mov edx, eax
imul edx, eax
imul edx, edx, 0x1078a
mov eax, edx
mov dword [0x10069f28], eax
movzx ecx, cx
mov edx, ecx
shl edx, 4
sub edx, ecx
add edx, edx
mov ebp, edx
mov edx, esi
sub edx, ebp
cmp edi, 0x2164
jne 0x10002032
add eax, dword [0x10069f20]
mov ebp, eax
imul ebp, eax
imul ebp, ebp, 0x1078a
mov eax, ebp
mov dword [0x10069f28], eax
sub ecx, esi
cmp edi, 0x2164
lea ecx, [edx + ecx - 0x60]
mov dword [0x10069ee0], ecx
jne 0x1000205d
add eax, dword [0x10069f20]
mov edx, eax
imul edx, eax
imul edx, edx, 0x1078a
mov dword [0x10069f28], edx
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
add esp, 0x18
ret