Function at 0x100011d0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x44
movzx eax, word [0x1018e842]
push ebx
mov bl, byte [0x1018e7c6]
push esi
mov esi, ecx
movzx ecx, bl
mov dword [esp + 0x48], esi
mov edx, dword [esp + 0x48]
sub edx, ecx
mov dword [esp + 0x30], ecx
sub edx, esi
push edi
cmp eax, esi
ja 0x1000120b
movzx eax, bl
mov word [0x1018e820], ax
mov eax, dword [0x1018e7e0]
sub eax, dword [str.WWHK9]
mov ebx, dword [0x1018e810]
cmp eax, 0x118
jne 0x10001240
mov ecx, dword [0x1018e814]
mov esi, ebx
sub esi, ecx
lea edx, [edx + ecx*2]
add edx, 0xffffff7f
add edx, ecx
mov ecx, dword [esp + 0x34]
add esi, edx
jmp 0x10001253
mov esi, dword [0x1018e814]
mov eax, esi
sub eax, ebx
dec eax
or edx, 0xffffffff
mov dword [0x1018e7ec], eax
sub ecx, edx
mov dword [0x101a5624], 0x10190260
dec ecx
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x4c]
lea eax, [ecx + 0x3c]
add eax, esi
lea edi, [ecx - 0xb]
movzx eax, al
mov esi, 0x1018e85c
add edi, eax
mov dword [0x1018e814], edi
mov ecx, edi
cmp edx, dword [0x1018e7ec]
je 0x100012a7
add dword [esi], ebx
mov ecx, edi
sub esi, 8
lea eax, [ecx + ebx]
lea edx, [eax*2 + 0x5a78]
sub edx, ecx
add edx, ebx
cmp esi, 0x1018e7d8
jg 0x10001282
lea ebx, [ecx + 2]
add ebx, edx
mov al, bl
mov dword [esp + 0x2c], ebx
add al, 2
add al, byte [esp + 0x34]
movzx esi, al
sub esi, ebx
mov byte [0x1018e7c6], al
dec esi
mov ecx, esi
mov dword [esp + 0x40], esi
call fcn.100323b0
mov edx, dword [0x1018e814]
mov edi, 0x1b70
movzx ecx, ax
movzx eax, bl
mov bl, byte [0x1018e7c6]
imul eax, eax, 0x49
neg bl
mov dword [esp + 0x38], ecx
sub bl, al
cmp dword [0x1018e7e8], 0x1664
movzx eax, bl
mov bh, bl
cmove edx, esi
mov byte [0x1018e7c6], bl
mov dword [0x1018e814], edx
lea ecx, [edx - 0xb]
add ecx, eax
mov eax, 0xff61
sub eax, ecx
mov dword [esp + 0x34], ecx
sub eax, esi
movzx eax, ax
mov dword [esp + 0x28], eax
mov dx, ax
mov ch, byte [esp + 0x28]
mov eax, 0x1018e7dc
movzx esi, dx
mov cl, bh
cmp esi, dword [0x1018e7f4]
je 0x1000136e
sub dx, word [eax]
mov ch, dl
movzx esi, dx
mov bl, ch
mov word [esp + 0x28], dx
add bl, 0x23
mov cl, bl
mov byte [0x1018e7c6], bl
cmp esi, dword [0x1018e7ec]
je 0x1000136e
add eax, 4
mov bh, bl
cmp eax, 0x1018e870
jl 0x10001336
movzx eax, cl
cmp dx, ax
jb 0x1000138c
add dword [0x1018e7dc], 0x21
mov bl, cl
sub bl, 0x76
add bl, ch
mov byte [0x1018e7c6], bl
mov cl, bl
mov eax, dword [0x1018e7e8]
sub eax, 1
je 0x100013a4
imul eax, dword [esp + 0x38], 0xe9b7
sub eax, dword [esp + 0x34]
jmp 0x100013b4
movzx eax, cl
mov ecx, dword [esp + 0x34]
add eax, dword [esp + 0x38]
add ecx, 0xffffffbe
add eax, ecx
mov dword [esp + 0x30], eax
xor esi, esi
nop word [eax + eax]
mov al, byte [esi + 0x1007e1c0]
lea esi, [esi + 1]
mov byte [esi + 0x1019025f], al
mov ecx, 0x1e2097
movzx eax, dx
dec edi
sub ecx, eax
sub ecx, edi
add dword [esp + 0x30], ecx
mov ecx, 0x1018e85c
movzx eax, dx
cmp eax, dword [0x1018e7ec]
je 0x10001410
add dword [ecx], 0x21
sub ecx, 8
movzx eax, bl
add eax, 0x5adb
movzx eax, ax
mov dword [esp + 0x28], eax
mov dx, ax
cmp ecx, 0x1018e7d8
jg 0x100013e5
test edi, edi
jne 0x100013c0
imul ebx, dword [0x1018e814], 0xe9b7
sub ebx, dword [esp + 0x30]
mov ecx, ebx
call fcn.100325e0
mov cl, byte [0x1018e7c6]
lea eax, [ebx - 0x22]
mov edx, dword [0x1018e7dc]
movzx eax, ax
mov dword [esp + 0x28], eax
movzx eax, cl
cmp word [esp + 0x28], ax
mov ah, byte [esp + 0x28]
jb 0x1000145c
mov al, ah
add edx, 0x21
sub al, 0x76
mov dword [0x1018e7dc], edx
add cl, al
mov edi, dword [0x1018e7e8]
cmp edi, 0x1664
jne 0x10001473
mov cl, ah
add cl, cl
sub cl, bl
add cl, 0x21
mov esi, dword [esp + 0x40]
mov ebx, dword [0x1018e810]
movzx eax, cl
mov ecx, dword [0x1018e814]
lea esi, [esi*2 + 0x5a00]
mov dword [esp + 0x3c], eax
sub esi, eax
mov eax, dword [esp + 0x2c]
add esi, eax
cmp eax, ecx
jb 0x100014b3
imul eax, ebx, 0xe9b6
add edx, ebx
mov dword [0x1018e7dc], edx
sub ecx, eax
mov eax, dword [esp + 0x2c]
add ecx, eax
add eax, 0x5a00
mov dword [esp + 0x38], 0x20022b0
add eax, ecx
cmp edi, 0x1664
mov dword [esp + 0x30], eax
cmove ecx, esi
sub esi, dword [esp + 0x3c]
sub esi, eax
cmp eax, ecx
jb 0x100014ed
imul eax, ebx, 0xe9b6
add edx, ebx
mov dword [0x1018e7dc], edx
sub ecx, eax
add ecx, dword [esp + 0x30]
mov dl, byte [esp + 0x40]
mov eax, edi
add dl, 0x3c
add dl, cl
sub eax, 1
mov byte [esp + 0x13], dl
movzx eax, dl
je 0x10001512
imul ecx, esi, 0xe9b7
sub ecx, 0x16ee1d
jmp 0x1000151a
lea ecx, [esi + 0x1ae3]
add ecx, eax
mov edx, dword [esp + 0x40]
add edx, 0xfffffff5
mov dword [esp + 0x40], 0x13
add edx, eax
mov dword [esp + 0x3c], 0x97
mov eax, edx
mov dword [0x1018e814], edx
sub eax, ecx
movzx ecx, cl
dec eax
mov dword [esp + 0x44], eax
movzx eax, ax
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x30]
add eax, 0x3c
add eax, edx
mov dword [esp + 0x24], eax
add eax, edx
mov esi, dword [esp + 0x24]
cmp edi, 0x1664
mov dword [esp + 0x30], eax
movzx eax, byte [esp + 0x13]
cmovne ecx, eax
mov al, byte [esp + 0x24]
sub al, cl
add al, bl
mov ebx, edx
movzx ecx, al
sub ecx, esi
mov byte [esp + 0x12], al
dec ecx
mov dword [0x1018e810], ecx
cmp edi, 0x1664
jne 0x1000159d
mov edx, esi
mov ebx, esi
mov dword [0x1018e814], edx
mov eax, dword [esp + 0x30]
mov dword [esp + 0x2c], 0xa3
mov dword [esp + 0x30], 0
lea eax, [eax*2 + 0x5a78]
sub eax, esi
mov esi, dword [0x1018e7e0]
add eax, ebx
mov dword [esp + 0x28], eax
mov eax, esi
sub eax, dword [str.WWHK9]
cmp eax, 0x118
jne 0x100015f3
mov edx, dword [esp + 0x24]
mov eax, ecx
add edx, 0xffffffbe
sub eax, ebx
lea edx, [edx + ebx*2]
mov dword [esp + 0x20], edx
add edx, eax
mov dword [0x1018e814], edx
mov ebx, edx
jmp 0x10001605
mov eax, ebx
mov dword [esp + 0x20], 0xffffffff
sub eax, ecx
dec eax
mov dword [0x1018e7ec], eax
mov eax, dword [esp + 0x34]
mov cl, byte [esp + 0x12]
movzx eax, ax
mov byte [esp + 0x13], cl
mov ecx, dword [0x1018e810]
mov dword [esp + 0x24], eax
cmp dword [0x1018e814], eax
ja 0x10001640
mov al, byte [esp + 0x12]
add al, 0x63
mov dword [str.WWHK9], ebx
add al, bl
add al, byte [esp + 0x34]
mov byte [esp + 0x12], al
mov byte [esp + 0x13], al
sub esi, dword [str.WWHK9]
cmp esi, 0x118
jne 0x10001668
mov esi, dword [esp + 0x20]
mov edx, ecx
add esi, 0xffffffbe
sub edx, ebx
lea esi, [esi + ebx*2]
add edx, esi
mov dword [0x1018e814], edx
mov ebx, edx
jmp 0x10001675
mov eax, ebx
sub eax, ecx
dec eax
or esi, 0xffffffff
mov dword [0x1018e7ec], eax
cmp edi, 0x1664
jne 0x1000168a
movzx edx, byte [esp + 0x13]
mov dword [0x1018e814], edx
mov ebx, edx
mov edi, 0x1018e85c
nop
cmp esi, dword [0x1018e7ec]
je 0x100016b5
add dword [edi], ecx
mov ebx, edx
sub edi, 8
lea eax, [ebx + ecx]
lea esi, [eax*2 + 0x5a78]
sub esi, ebx
add esi, ecx
cmp edi, 0x1018e7d8
jg 0x10001690
mov eax, dword [0x1018e7e0]
lea ecx, [ebx + 0x3c]
sub eax, dword [str.WWHK9]
add ecx, esi
mov dword [esp + 0x14], ecx
cmp eax, 0x118
jne 0x100016ef
mov edx, dword [esp + 0x24]
mov al, bl
add al, al
sub al, 0x42
add al, byte [esp + 0x12]
movzx eax, al
sub eax, ebx
add edx, eax
mov dword [0x1018e814], edx
mov ebx, edx
jmp 0x100016fb
mov eax, ebx
sub eax, dword [esp + 0x24]
dec eax
mov dword [0x1018e7ec], eax
mov esi, dword [0x1018e7e8]
mov edi, dword [0x1018e7dc]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x18], esi
nop
sub cl, 0xb
add cl, al
mov byte [0x1018e7c6], cl
cmp esi, 0x1664
jne 0x1000172e
movzx edx, cl
mov dword [0x1018e814], edx
mov ebx, edx
mov esi, dword [esp + 0x14]
add esi, 0x5a00
add esi, ebx
mov dword [esp + 0x20], esi
cmp dword [0x1018e814], ebx
ja 0x10001761
mov eax, esi
mov esi, dword [esp + 0x28]
mov dword [str.WWHK9], eax
add esi, 0xffffff63
add eax, ebx
add esi, eax
mov dword [esp + 0x28], esi
mov eax, esi
mov esi, dword [esp + 0x24]
cmp dword [esp + 0x20], esi
mov esi, dword [esp + 0x18]
jbe 0x100017f6
mov eax, dword [esp + 0x20]
add eax, ebx
lea eax, [eax*2 + 0x5a3c]
sub eax, dword [0x1018e810]
mov dword [esp + 0x20], eax
sub al, cl
mov cl, al
xor eax, eax
add cl, byte [esp + 0x28]
cmp word [esp + 0x34], ax
mov byte [0x1018e7c6], cl
sete al
cmp word [esp + 0x44], 0
mov dword [esp + 0x14], eax
mov eax, dword [0x1018e810]
mov dword [esp + 0x28], eax
jne 0x100017e1
mov cl, byte [esp + 0x20]
add cl, 2
mov dword [esp + 0x28], eax
add cl, byte [esp + 0x14]
mov byte [0x1018e7c6], cl
cmp esi, 0x1664
jne 0x100017e1
mov eax, dword [esp + 0x14]
mov dword [0x1018e810], eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x14]
add eax, dword [esp + 0x28]
add esi, 0xffffffbe
add eax, esi
mov dword [esp + 0x28], eax
mov esi, dword [esp + 0x20]
add esi, 0xffffffdf
lea esi, [ebx + esi*2]
mov dword [esp + 0x14], esi
cmp eax, esi
jae 0x10001821
mov eax, esi
add eax, 2
add eax, ebx
mov dword [esp + 0x14], eax
mov esi, dword [esp + 0x14]
movzx eax, cl
add eax, 0x3c
add eax, esi
jmp 0x10001866
mov eax, dword [0x1018e7e0]
sub eax, dword [str.WWHK9]
cmp eax, 0x118
jne 0x10001857
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
add edx, 0xffffffbe
sub eax, ebx
lea edx, [edx + ebx*2]
mov dword [esp + 0x20], edx
add edx, eax
mov eax, dword [esp + 0x20]
mov ebx, edx
mov dword [0x1018e814], edx
jmp 0x1000186a
mov eax, ebx
sub eax, dword [esp + 0x24]
dec eax
mov dword [0x1018e7ec], eax
or eax, 0xffffffff
mov dword [esp + 0x20], eax
cmp dword [esp + 0x38], 1
jb 0x10001953
movzx eax, cl
lea edx, [ebx + 0x3c]
mov ebx, dword [esp + 0x20]
add edx, esi
mov ecx, 0xffffffe7
mov dword [esp + 0x28], edx
sub ecx, eax
sub ecx, edx
add ebx, ecx
mov dword [esp + 0x20], ebx
call fcn.10032740
mov cl, byte [0x1018e7c6]
mov edi, dword [0x1018e7dc]
movzx eax, cl
mov byte [esp + 0x13], cl
cmp ebx, eax
jb 0x100018ca
mov eax, dword [esp + 0x28]
add edi, eax
movzx eax, al
imul eax, eax, 0x4a
mov dword [0x1018e7dc], edi
add al, bl
add cl, al
mov byte [esp + 0x13], cl
mov edx, dword [0x1018e814]
mov eax, 0xffffffe7
mov ecx, dword [esp + 0x20]
mov ebx, edx
mov esi, dword [0x1018e7e8]
sub eax, ebx
dec dword [esp + 0x38]
mov dword [esp + 0x14], eax
lea eax, [ecx*2 + 0x5a00]
mov dword [esp + 0x18], esi
sub eax, dword [esp + 0x24]
add eax, dword [0x1018e810]
mov dword [esp + 0x28], eax
mov eax, esi
sub eax, 1
je 0x10001922
mov ecx, dword [esp + 0x14]
imul eax, ecx, 0xe9b7
sub eax, dword [esp + 0x28]
mov dword [esp + 0x28], eax
jmp 0x10001710
mov eax, dword [esp + 0x14]
mov cl, byte [esp + 0x13]
mov esi, dword [esp + 0x28]
neg cl
movzx eax, al
add esi, 0xffffffbe
imul eax, eax, 0x49
sub cl, al
movzx eax, cl
mov ecx, dword [esp + 0x14]
add eax, ecx
add eax, esi
mov esi, dword [esp + 0x18]
mov dword [esp + 0x28], eax
jmp 0x10001710
mov ch, al
sub ch, cl
mov byte [esp + 0x12], ch
mov ecx, dword [esp + 0x14]
add byte [esp + 0x12], cl
cmp eax, ecx
jbe 0x10001978
add ecx, 0xfffffff5
add al, 2
add ecx, ebx
add al, cl
mov dword [esp + 0x14], ecx
mov byte [esp + 0x12], al
mov ecx, dword [esp + 0x34]
movzx eax, dx
neg ecx
mov dword [esp + 0x44], eax
imul eax, ebx, 0x1649
mov dword [esp + 0x38], 0x20022b0
sub ecx, eax
movzx eax, word [0x1018e820]
movzx esi, cx
movzx ecx, word [0x1018e828]
sub ecx, eax
mov dword [esp + 0x28], esi
cmp ecx, 0x118
jne 0x100019cb
movzx ecx, byte [esp + 0x12]
imul eax, ebx, 0xe9b7
lea eax, [eax + ecx*2]
sub eax, dword [esp + 0x14]
sub eax, 0x42
jmp 0x100019e6
mov al, byte [esp + 0x12]
movzx eax, al
sub ax, word [0x1018e810]
dec ax
mov word [0x1018e82e], ax
mov eax, 0xffffffff
mov ecx, dword [esp + 0x20]
mov byte [esp + 0x12], cl
add byte [esp + 0x12], al
sub byte [esp + 0x12], 0xb
mov dword [esp + 0x14], eax
movzx eax, si
cmp ebx, eax
jb 0x10001a1a
imul eax, ecx, 0x164a
add edi, ecx
mov dword [0x1018e7dc], edi
add eax, dword [esp + 0x44]
add esi, eax
mov dword [esp + 0x28], esi
mov eax, dword [esp + 0x14]
mov cl, al
sub cl, byte [esp + 0x12]
add cl, byte [0x1018e810]
mov byte [0x1018e7c6], cl
mov dword [esp + 0x48], 0xd010
inc dword [esp + 0x30]
movzx eax, si
sub eax, ebx
mov dword [esp + 0x20], ecx
dec eax
cmp dword [esp + 0x18], 0x1664
mov dword [esp + 0x24], eax
jne 0x10001a66
mov cl, al
mov dword [esp + 0x20], ecx
mov byte [0x1018e7c6], cl
mov byte [esp + 0x13], cl
jmp 0x10001a6e
mov al, byte [esp + 0x24]
mov byte [esp + 0x13], al
cmp dword [esp + 0x24], 0x11a8f
mov eax, dword [esp + 0x14]
jbe 0x10001aad
mov eax, dword [esp + 0x24]
add eax, 0xfffffff5
movzx ecx, cl
add eax, ebx
cmp dword [esp + 0x18], 0x1664
movzx esi, ax
movzx eax, byte [esp + 0x13]
cmove ecx, eax
mov dword [esp + 0x28], esi
mov eax, dword [esp + 0x14]
mov dword [esp + 0x20], ecx
mov byte [0x1018e7c6], cl
cmp dword [0x1018e814], ebx
ja 0x10001ad0
mov ecx, dword [esp + 0x24]
mov dword [str.WWHK9], eax
add ecx, 0xffffff63
add eax, ebx
add ecx, eax
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x20]
cmp dword [esp + 0x30], 0x53
jge 0x10001b70
mov eax, dword [esp + 0x24]
lea edx, [eax*2 + 0x5a00]
movzx eax, si
sub edx, eax
add edx, 0xfffffff5
sub dword [esp + 0x18], 1
je 0x10001b07
imul eax, dword [esp + 0x30], 0xe9b7
sub eax, dword [esp + 0x14]
mov dword [esp + 0x14], eax
jmp 0x10001b1b
movzx eax, cl
mov ecx, dword [esp + 0x14]
add eax, dword [esp + 0x30]
add ecx, 0xffffffbe
add ecx, eax
mov dword [esp + 0x14], ecx
lea eax, [edx + ebx]
push 0x7d1
add eax, ebx
push 0x1018fba0
movzx ebx, ax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
movzx edx, byte [0x1018e7c6]
mov edi, dword [0x1018e7dc]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x14]
movzx ecx, al
mov eax, dword [0x1018e7e8]
cmp eax, 0x1664
mov dword [esp + 0x18], eax
cmove edx, ecx
mov cl, dl
mov edx, dword [0x1018e814]
mov dword [esp + 0x20], ecx
mov byte [0x1018e7c6], cl
jmp 0x10001b74
mov ebx, dword [esp + 0x28]
movzx eax, dx
neg ebx
mov dword [esp + 0x34], eax
imul eax, eax, 0x1649
sub ebx, eax
movzx eax, cl
movzx ebx, bx
mov dword [esp + 0x28], ebx
cmp dword [esp + 0x24], eax
jb 0x10001bb7
mov eax, dword [esp + 0x14]
add edi, eax
movzx eax, al
imul eax, eax, 0x4a
mov dword [0x1018e7dc], edi
add al, byte [esp + 0x24]
add cl, al
mov dword [esp + 0x20], ecx
mov byte [0x1018e7c6], cl
mov esi, dword [esp + 0x3c]
cmp esi, 5
jae 0x10001bcd
movzx eax, bx
sub eax, edx
dec eax
dec esi
mov dword [esp + 0x3c], esi
jmp 0x10001bd1
mov eax, dword [esp + 0x24]
movzx esi, bx
sub eax, edx
sub eax, esi
mov dword [esp + 0x44], esi
mov dword [esp + 0x24], eax
lea esi, [eax - 0x19]
mov eax, dword [esp + 0x14]
cmp dword [0x1018e814], eax
ja 0x10001c07
mov esi, dword [esp + 0x14]
movzx eax, cl
add esi, 0xffffff4a
mov dword [str.WWHK9], eax
add eax, dword [esp + 0x24]
add esi, eax
mov eax, dword [0x1018e7e0]
sub eax, dword [str.WWHK9]
cmp eax, 0x118
mov eax, dword [esp + 0x14]
jne 0x10001c3b
add eax, 0xffffffdf
lea eax, [esi + eax*2]
mov dword [esp + 0x24], eax
mov eax, edx
sub eax, dword [esp + 0x14]
add eax, dword [esp + 0x24]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x24]
jmp 0x10001c4a
sub eax, edx
dec eax
mov dword [0x1018e7ec], eax
or eax, 0xffffffff
mov dword [esp + 0x24], eax
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x44]
add ebx, 0x3c
add esi, ebx
mov ebx, dword [esp + 0x28]
mov dword [0x1018e810], esi
cmp bx, word [esp + 0x48]
jbe 0x10001d27
mov ebx, dword [esp + 0x34]
add ebx, 2
add eax, ebx
movzx ebx, ax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x28], ebx
cmp esi, eax
jne 0x10001d0b
mov eax, dword [esp + 0x24]
cmp dword [esp + 0x18], 0x1664
movzx ecx, cl
movzx eax, al
cmove ecx, eax
mov byte [0x1018e7c6], cl
movzx ecx, bx
call fcn.100325e0
mov edx, dword [0x1018e814]
mov cl, byte [0x1018e7c6]
mov edi, dword [0x1018e7dc]
mov dword [esp + 0x44], eax
mov dword [esp + 0x20], ecx
cmp edx, dword [esp + 0x14]
jb 0x10001ce8
movzx ecx, cl
imul eax, ecx, 0xe9b6
add edi, ecx
mov ecx, edx
mov dword [0x1018e7dc], edi
sub ecx, eax
add dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x20]
movzx eax, cl
add eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x44]
add ecx, 0xffffffbe
add ecx, eax
mov eax, dword [0x1018e7e8]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x24], ecx
jmp 0x10001d0f
mov ecx, dword [esp + 0x24]
cmp ecx, eax
jb 0x10001d2b
imul eax, edx, 0xe9b6
add edi, edx
mov dword [0x1018e7dc], edi
sub ecx, eax
add dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x18]
cmp esi, 0x1664
cmove edx, ecx
cmp dword [esp + 0x2c], 9
jae 0x10001dd8
movzx eax, bx
cmp ecx, eax
jb 0x10001d60
imul eax, edx, 0x164a
add edi, edx
mov dword [0x1018e7dc], edi
add eax, ecx
add ebx, eax
mov dword [esp + 0x28], ebx
cmp dword [0x1018e810], edx
jb 0x10001d84
imul eax, ecx, 0xe9b6
add edi, ecx
mov ecx, dword [0x1018e810]
mov dword [0x1018e7dc], edi
sub ecx, eax
add edx, ecx
mov ecx, dword [esp + 0x24]
mov eax, dword [0x1018e7e0]
sub eax, dword [str.WWHK9]
dec dword [esp + 0x2c]
cmp eax, 0x118
movzx eax, bx
jne 0x10001dc4
mov ecx, dword [0x1018e810]
lea ecx, [ecx + eax*2]
mov eax, dword [esp + 0x2c]
add ecx, 0xffffffbe
sub eax, ebx
add eax, ecx
mov dword [0x1018e810], ecx
mov ecx, dword [esp + 0x24]
movzx ebx, ax
mov dword [esp + 0x28], ebx
jmp 0x10001dd8
sub eax, dword [esp + 0x2c]
dec eax
mov dword [0x1018e810], 0xffffffff
mov dword [0x1018e7ec], eax
cmp ecx, edx
jb 0x10001df1
movzx eax, bx
add edi, eax
imul eax, eax, 0xe9b6
mov dword [0x1018e7dc], edi
sub edx, eax
add edx, ecx
mov eax, dword [esp + 0x14]
cmp esi, 0x1664
jne 0x10001e04
movzx ebx, ax
mov dword [esp + 0x28], ebx
sub esi, 1
je 0x10001e13
imul eax, edx, 0xe9b7
sub eax, ecx
jmp 0x10001e1a
add eax, 0xffffffbe
add eax, edx
add eax, ecx
mov esi, dword [esp + 0x38]
mov dword [esp + 0x34], eax
test esi, esi
je 0x10001ed1
mov eax, dword [0x1018e810]
add eax, 0xffffffbe
add eax, edx
add eax, esi
mov dword [0x1018e814], eax
call fcn.10032740
mov eax, dword [0x1018e810]
dec esi
mov ecx, dword [esp + 0x40]
add eax, 2
mov edx, dword [0x1018e7e8]
add eax, ecx
mov dword [esp + 0x38], esi
mov esi, dword [0x1018e814]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], edx
cmp ecx, 6
jae 0x10001e94
cmp dword [0x1018e814], esi
ja 0x10001e7c
movzx eax, bx
mov dword [str.WWHK9], eax
dec ecx
movzx eax, bx
sub eax, ecx
mov dword [esp + 0x40], ecx
mov cl, byte [0x1018e7c6]
dec eax
mov dword [0x1018e810], eax
jmp 0x10001eb1
mov eax, dword [esp + 0x34]
cmp edx, 0x1664
movzx ecx, byte [0x1018e7c6]
movzx eax, al
cmove ecx, eax
mov byte [0x1018e7c6], cl
mov edx, dword [esp + 0x14]
add esi, 0xffffffc7
mov edi, dword [0x1018e7dc]
add edx, esi
mov esi, dword [esp + 0x28]
mov ebx, edx
mov dword [0x1018e814], edx
jmp 0x10001a38
mov edi, dword [esp + 0x4c]
lea esi, [edx + 0x3c]
mov ecx, dword [esp + 0x20]
movzx eax, bx
add esi, eax
add eax, 2
add eax, edi
mov dword [esp + 0x48], esi
mov dword [esp + 0x34], eax
mov eax, dword [0x1018e7e0]
sub eax, dword [str.WWHK9]
cmp eax, 0x118
movzx eax, cl
jne 0x10001f27
add eax, 0xffffffdf
lea eax, [edx + eax*2]
mov edx, dword [esp + 0x34]
mov dword [esp + 0x38], eax
mov al, dl
sub al, cl
add al, byte [esp + 0x38]
mov cl, al
mov dword [esp + 0x20], ecx
mov byte [0x1018e7c6], cl
jmp 0x10001f3b
mov edx, dword [esp + 0x34]
sub eax, edx
dec eax
mov dword [esp + 0x38], 0xffffffff
mov dword [0x1018e7ec], eax
mov eax, 0xffe7
sub eax, edi
sub eax, edx
mov edx, esi
sub edx, dword [esp + 0x38]
add ebx, eax
add edx, dword [esp + 0x34]
mov esi, 0x1018e85c
mov dword [esp + 0x4c], edx
mov dword [0x1018e814], edx
nop
movzx eax, cl
cmp eax, dword [0x1018e7ec]
je 0x10001f92
mov cl, dl
movzx eax, bx
add dword [esi], eax
add cl, 0x3c
add cl, bl
sub esi, 8
add cl, cl
sub cl, dl
add cl, bl
mov dword [esp + 0x20], ecx
mov byte [0x1018e7c6], cl
cmp esi, 0x1018e7d8
jg 0x10001f60
mov eax, dword [0x1018e7e0]
sub eax, dword [str.WWHK9]
imul edi, edx, 0xe9b6
sub edi, dword [esp + 0x48]
sub edi, 0x3d5
cmp eax, 0x118
jne 0x10001fda
mov ecx, dword [esp + 0x4c]
imul eax, edi, 0x74db
movzx edx, bx
sub ecx, eax
lea ecx, [ecx*2 + 0x3d5]
add ecx, edx
sub edx, dword [esp + 0x4c]
add edx, ecx
mov dword [0x1018e814], edx
jmp 0x10001fe9
movzx eax, bx
sub edx, eax
dec edx
or ecx, 0xffffffff
mov dword [0x1018e7ec], edx
movzx eax, word [0x1018e82c]
mov dword [esp + 0x40], ecx
sub eax, 1
je 0x10002003
imul esi, edi, 0xe9b7
sub esi, ecx
jmp 0x10002015
mov ecx, dword [esp + 0x20]
movzx esi, cl
mov ecx, dword [esp + 0x40]
add esi, edi
add ecx, 0xffffffbe
add esi, ecx
mov ecx, edi
call fcn.10075cd0
mov dword [0x1018e814], eax
movzx eax, byte [0x1018e7c6]
add eax, 0x3c
add eax, esi
mov dword [0x1018e810], eax
pop ecx
call 0x1d8bebe2
adc al, 0xe8
sbb byte [eax], dl
lea eax, [ebx*2 + 0x5a00]
sub eax, esi
movzx edx, di
add eax, edx
movzx ebx, ax
mov eax, ebx
cmp dword [0x1018e814], eax
ja 0x10002067
add eax, ecx
mov dword [str.WWHK9], ecx
add esi, 0xffffff63
add esi, eax
mov eax, 0xffe7
sub eax, edx
sub eax, esi
add ebx, eax
cmp dword [0x1018e7e8], 0x1664
cmove ecx, esi
imul edx, edi, 0xe9b7
mov dword [0x1018e814], ecx
sub edx, esi
cmp edx, ecx
jb 0x100020aa
movzx eax, bx
add dword [0x1018e7dc], eax
imul eax, eax, 0xe9b6
sub ecx, eax
add ecx, edx
mov dword [0x1018e814], ecx
movzx eax, byte [0x1018e7c6]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret