Function at 0x10048b1
Capabilities:
Get common file path

Disassembly:
sub esp, 0x20
mov eax, dword [0x102ffc0]
push ebx
mov bl, byte [0x103001c]
add bl, byte [esp + 0x28]
push esi
mov esi, dword [0x102ff98]
push edi
mov edi, 0xe87
mov ecx, 0xa0b6
dec bl
mov dword [esp + 0x10], ecx
cmp esi, edi
jne 0x10048f6
lea ecx, [eax - 0x5f4a]
movzx ecx, cx
lea edx, [ecx + 1]
imul edx, ecx
movzx ecx, dx
mov dword [esp + 0x10], ecx
sub ecx, dword [esp + 0x30]
movzx dx, bl
imul dx, word [0x103001c]
add dx, word [esp + 0x10]
add ecx, 0x51
movzx ecx, cx
mov dword [0x115770c], 0x1033518
mov word [0x103001c], dx
cmp esi, edi
jne 0x100493e
add al, byte [0x1030017]
mov dl, byte [esp + 0x10]
inc dl
imul dl
mov dl, al
mov byte [0x1030017], dl
jmp 0x1004944
mov dl, byte [0x1030017]
movzx ax, dl
dec ax
add word [esp + 0x10], ax
mov al, 0x36
sub al, byte [0x103001c]
sub al, byte [esp + 0x10]
add al, al
add bl, al
movzx eax, cx
cmp dword [0x102ffc4], eax
ja 0x1004987
movzx eax, dl
mov dword [0x102ffd4], eax
mov al, cl
mov bl, 0x9e
imul bl
add dl, al
sub cl, dl
sub cl, 0x39
mov byte [0x1030017], dl
mov bl, cl
push ebp
call fcn.010046b4
mov dl, byte [0x103001c]
mov ebp, dword [0x102ffc4]
mov al, dl
add al, byte [esp + 0x14]
add al, 4
add bl, al
xor eax, eax
cmp eax, dword [0x1030024]
ja 0x10049f7
jb 0x10049b7
cmp ebp, dword [0x1030020]
ja 0x10049f7
mov cl, byte [0x1030017]
movzx eax, cl
mov dword [0x102ffd4], eax
mov al, byte [0x1030020]
mov dl, 0x9e
imul dl
mov dx, word [0x1030020]
add cl, al
movzx ax, cl
sub dx, ax
mov eax, 0xd39
sub dx, ax
movzx eax, dx
mov dl, byte [0x103001c]
mov byte [0x1030017], cl
jmp 0x1004a01
mov eax, dword [esp + 0x14]
mov cl, byte [0x1030017]
movzx si, cl
lea eax, [eax + eax + 4]
add ax, si
movzx eax, ax
mov dword [esp + 0x14], eax
mov dword [0x103003c], 0x102b395
cmp dword [0x102ff98], edi
jne 0x1004a3a
mov al, byte [0x102ffc0]
add al, cl
mov cl, bl
inc cl
imul cl
mov cl, al
mov byte [0x1030017], cl
add dl, byte [esp + 0x14]
mov edi, 0x102ffa4
add dl, 4
add bl, dl
mov byte [esp + 0x13], bl
movzx cx, cl
mov eax, edi
mov dx, cx
sub dx, word [eax]
add dx, word [0x1030020]
add dx, 4
add word [esp + 0x14], dx
movzx edx, word [esp + 0x14]
cmp edx, dword [str.2R_]
je 0x1004a7f
add eax, 8
cmp eax, str.:_
jl 0x1004a52
call fcn.010043e8
and dword [0x1030024], 0
movzx eax, ax
mov dword [esp + 0x18], eax
movzx eax, word [0x103001c]
add eax, 0x686
mov dword [0x1030020], eax
movzx ax, bl
shl ax, 3
add ax, word [esp + 0x14]
mov word [0x103001c], ax
test ebp, ebp
je 0x1004af9
cmp ebp, 0x30
je 0x1004ade
cmp ebp, 0xba
je 0x1004acf
mov bl, 0xb6
sub bl, byte [esp + 0x14]
jmp 0x1004af1
mov bl, byte [0x1030020]
sub bl, byte [esp + 0x14]
add bl, 0x5a
jmp 0x1004af1
mov al, byte [0x1030020]
add al, byte [esp + 0x14]
mov bl, byte [0x1030017]
add al, 4
add bl, al
mov byte [0x1030017], bl
jmp 0x1004b19
mov bl, byte [0x1030017]
movzx ax, bl
sub ax, word [0x1030020]
mov ecx, 0xd39
sub ax, cx
movzx eax, ax
mov dword [esp + 0x14], eax
mov esi, dword [0x1030020]
imul esi, dword [0x103001c]
movzx ax, bl
push 0x51
pop ecx
mov dword [esp + 0x2c], 0xd
mov dword [esp + 0x20], 0xad
sub ecx, eax
add dword [esp + 0x14], ecx
add esi, dword [esp + 0x14]
mov word [0x103001c], si
mov cx, ax
sub cx, word [edi]
add cx, word [0x1030020]
add cx, 4
add word [esp + 0x14], cx
movzx ecx, word [esp + 0x14]
cmp ecx, dword [str.2R_]
je 0x1004b7c
add edi, 8
cmp edi, str.:_
jl 0x1004b4e
mov ecx, dword [esp + 0x14]
lea eax, [eax + ecx*2 + 4]
movzx eax, ax
mov dword [esp + 0x14], eax
mov al, 0xb6
sub al, byte [0x103001c]
mov edi, 0x102ffa4
sub al, byte [esp + 0x14]
add byte [esp + 0x13], al
movzx ax, bl
mov cx, ax
sub cx, word [edi]
add cx, word [0x1030020]
add cx, 4
add word [esp + 0x14], cx
movzx ecx, word [esp + 0x14]
cmp ecx, dword [str.2R_]
je 0x1004bd2
add edi, 8
cmp edi, str.:_
jl 0x1004ba4
cmp dword [0x103003c], 0x84
mov ecx, dword [esp + 0x18]
jae 0x1004c33
mov byte [esp + 0x13], 0x72
test ebp, ebp
je 0x1004c22
cmp ebp, 0x30
je 0x1004c0f
cmp ebp, 0xba
je 0x1004c02
mov bl, 0xb6
sub bl, byte [0x103001c]
jmp 0x1004c1a
mov bl, cl
sub bl, byte [0x103001c]
add bl, 0x5a
jmp 0x1004c1a
mov al, byte [0x103001c]
add al, cl
add al, 4
add bl, al
mov byte [0x1030017], bl
jmp 0x1004c33
sub eax, ecx
sub eax, 0xd39
mov si, ax
mov word [0x103001c], si
test ebp, ebp
je 0x1004c6e
cmp ebp, 0x30
je 0x1004c5b
cmp ebp, 0xba
je 0x1004c4e
mov bl, 0xb6
sub bl, byte [0x103001c]
jmp 0x1004c66
mov bl, cl
sub bl, byte [0x103001c]
add bl, 0x5a
jmp 0x1004c66
mov al, byte [0x103001c]
add al, cl
add al, 4
add bl, al
mov byte [0x1030017], bl
jmp 0x1004c84
movzx si, bl
sub si, cx
mov eax, 0xd39
sub si, ax
mov word [0x103001c], si
xor eax, eax
test cx, cx
sete al
movzx eax, ax
mov dword [esp + 0x14], eax
test ax, ax
jne 0x1004ccc
test ebp, ebp
je 0x1004ccc
cmp ebp, 0x30
je 0x1004cbc
cmp ebp, 0xba
je 0x1004cb1
mov bl, 0xb6
sub bl, byte [esp + 0x13]
jmp 0x1004cc6
mov bl, cl
sub bl, byte [esp + 0x13]
add bl, 0x5a
jmp 0x1004cc6
mov al, cl
add al, byte [esp + 0x13]
add al, 4
add bl, al
mov byte [0x1030017], bl
movzx di, bl
mov eax, edi
imul eax, eax, 0x1763
sub eax, dword [esp + 0x14]
add eax, 0x5a
movzx eax, ax
movzx edx, ax
mov dword [esp + 0x14], eax
cmp ebp, edx
ja 0x1004d06
imul eax, eax, 0xe89e
movzx edx, si
add si, ax
mov dword [0x102ffd4], edx
mov word [0x103001c], si
cmp word [esp + 0x14], 0
sete byte [esp + 0x13]
cmp byte [esp + 0x13], 0
je 0x1004e36
mov al, byte [esp + 0x14]
sub al, byte [0x103001c]
add al, 0x5a
movzx dx, al
mov byte [esp + 0x13], al
cmp dx, word [esp + 0x14]
jbe 0x1004dbe
mov byte [esp + 0x13], al
mov eax, 0xffb6
sub eax, edi
movzx eax, ax
mov dword [esp + 0x14], eax
test ebp, ebp
je 0x1004db5
cmp ebp, 0x30
je 0x1004d96
cmp ebp, 0xba
je 0x1004d7b
movzx eax, byte [esp + 0x13]
push 0xffffffffffffffb6
cdq
pop edi
sub edi, eax
push 0xffffffffffffffff
pop eax
sbb eax, edx
mov dword [0x1030020], edi
mov dword [0x1030024], eax
jmp 0x1004daf
movzx edx, byte [esp + 0x13]
movzx eax, bl
sub eax, edx
add eax, 0x5a
cdq
mov dword [0x1030020], eax
mov dword [0x1030024], edx
jmp 0x1004dfe
movzx ecx, byte [esp + 0x13]
movzx eax, bl
lea eax, [eax + ecx + 4]
cdq
add dword [0x1030020], eax
adc dword [0x1030024], edx
mov ecx, dword [esp + 0x18]
jmp 0x1004dfe
mov al, byte [0x1030020]
sub al, bl
jmp 0x1004df8
test ebp, ebp
je 0x1004df4
cmp ebp, 0x30
je 0x1004de2
cmp ebp, 0xba
je 0x1004dd7
mov bl, 0xb6
sub bl, byte [esp + 0x13]
jmp 0x1004dec
mov bl, cl
sub bl, byte [esp + 0x13]
add bl, 0x5a
jmp 0x1004dec
mov al, cl
add al, byte [esp + 0x13]
add al, 4
add bl, al
mov byte [0x1030017], bl
jmp 0x1004dfe
mov al, bl
sub al, cl
sub al, 0x39
mov byte [esp + 0x13], al
movzx eax, bl
mov dword [esp + 0x28], eax
cmp ebp, eax
ja 0x1004e6a
mov ecx, dword [0x1030020]
imul eax, eax, 0xe89e
cdq
mov dword [0x102ffd4], ecx
add ecx, eax
mov al, byte [esp + 0x28]
adc dword [0x1030024], edx
mov dword [0x1030020], ecx
sub al, cl
mov ecx, dword [esp + 0x18]
jmp 0x1004e64
test ebp, ebp
je 0x1004e60
cmp ebp, 0x30
je 0x1004e52
cmp ebp, 0xba
je 0x1004e4b
mov bl, 0xb6
jmp 0x1004e58
mov bl, cl
add bl, 0x5a
jmp 0x1004e58
mov al, cl
add al, 4
add bl, al
mov byte [0x1030017], bl
jmp 0x1004e6a
mov al, bl
sub al, cl
sub al, 0x39
mov byte [esp + 0x13], al
cmp dword [0x103003c], 1
jb 0x1005021
cmp word [esp + 0x14], cx
jbe 0x1004ea7
movzx ax, bl
mov edx, eax
sub edx, dword [0x1030020]
lea eax, [eax + edx*8 + 0x2d0]
movzx eax, ax
mov dword [esp + 0x14], eax
mov al, byte [0x1030020]
sub al, cl
sub al, 0x39
mov byte [esp + 0x13], al
jmp 0x1004ebf
movzx ecx, word [esp + 0x14]
mov eax, 0xf2d4
sub eax, ecx
and dword [0x1030024], 0
mov dword [0x1030020], eax
push dword [0x1030020]
call fcn.010040c5
movzx eax, byte [esp + 0x17]
cmp eax, 0x963b
pop ecx
jle 0x1004f0a
movzx eax, word [esp + 0x14]
push eax
call fcn.01004570
mov si, word [0x103001c]
mov bl, al
movzx ax, bl
sub ax, word [esp + 0x18]
pop ecx
mov ecx, 0xd39
sub ax, cx
movzx eax, ax
mov byte [0x1030017], bl
mov dword [esp + 0x14], eax
mov edx, dword [esp + 0x18]
mov cl, byte [0x1030020]
dec dword [0x103003c]
mov ebp, dword [0x102ffc4]
movzx di, bl
add cl, dl
dec cl
mov byte [esp + 0x13], cl
mov eax, edi
imul eax, eax, 0xe89e
add edx, eax
movzx ax, cl
mov dword [esp + 0x18], edx
cmp ax, word [esp + 0x14]
jae 0x1004fa0
sub edi, dword [esp + 0x14]
mov cl, byte [esp + 0x14]
sub cl, byte [0x103001c]
add edi, 0x5a
movzx eax, di
mov dword [esp + 0x14], eax
movzx eax, bl
sub cl, 0x39
mov byte [esp + 0x13], cl
mov dword [esp + 0x28], eax
cmp ebp, eax
ja 0x1004fc8
mov ecx, dword [0x1030020]
imul eax, eax, 0xe89e
cdq
mov dword [0x102ffd4], ecx
add ecx, eax
adc dword [0x1030024], edx
mov al, byte [esp + 0x28]
sub al, cl
sub al, 0x39
mov dword [0x1030020], ecx
mov byte [esp + 0x13], al
mov cl, al
jmp 0x1004fc8
movzx eax, dx
cmp ebp, eax
ja 0x1004fc8
movzx eax, bl
mov dword [0x102ffd4], eax
mov cl, 0x9e
mov al, dl
imul cl
add bl, al
mov cl, dl
sub cl, bl
sub cl, 0x39
mov byte [0x1030017], bl
mov byte [esp + 0x13], cl
test ebp, ebp
je 0x100500d
movzx ax, cl
cmp ebp, 0x30
je 0x1004ff5
cmp ebp, 0xba
je 0x1004fe7
mov esi, 0xffb6
sub si, ax
jmp 0x1005001
mov si, word [esp + 0x14]
sub si, ax
add si, 0x5a
jmp 0x1005001
add ax, word [esp + 0x14]
add ax, 4
add si, ax
mov word [0x103001c], si
jmp 0x1004b8b
mov al, byte [0x103001c]
sub al, byte [esp + 0x14]
sub al, 0x39
mov byte [esp + 0x13], al
jmp 0x1004b8b
cmp dword [0x102ff98], 0xe87
jne 0x1005044
mov al, byte [0x102ffc0]
mov cl, byte [esp + 0x14]
add al, bl
inc cl
imul cl
mov bl, al
mov byte [0x1030017], bl
mov edi, dword [0x102ffdc]
mov edx, dword [0x102ffb8]
movzx ax, bl
push 0x51
pop ecx
sub cx, ax
add word [esp + 0x14], cx
mov eax, dword [esp + 0x18]
mov cl, bl
sub cl, al
add edx, edi
mov edi, dword [esp + 0x14]
add cl, 0x5a
cmp edx, 0x284
jne 0x100509c
mov edx, edi
shl edx, 3
add si, dx
mov edx, 0xffb6
mov word [0x103001c], si
sub edx, dword [0x103001c]
sub edx, eax
add edi, edx
mov dword [esp + 0x14], edi
jmp 0x10050c2
movzx edx, si
push 0xffffffffffffffb6
pop esi
sub esi, edx
movzx eax, ax
sub esi, eax
add dword [str.:_], esi
mov esi, dword [0x103001c]
imul esi, esi, 0xe89f
mov word [0x103001c], si
movzx eax, word [0x1030002]
cdq
mov dword [0x103003c], 0x102b395
cmp edx, dword [0x1030024]
ja 0x1005116
jb 0x10050e6
cmp eax, dword [0x1030020]
ja 0x1005116
mov eax, dword [0x1030020]
mov edx, eax
imul edx, edx, 0xe89e
mov word [0x103000a], si
add si, dx
mov word [0x103001c], si
sub eax, dword [0x103001c]
sub eax, 0xd39
movzx edi, ax
mov dword [esp + 0x14], edi
and dword [esp + 0x24], 0
mov al, bl
add al, byte [esp + 0x18]
add al, 4
add cl, al
mov byte [esp + 0x13], cl
movzx ax, bl
mov word [esp + 0x1c], ax
imul eax, eax, 0xe89e
add dword [esp + 0x18], eax
movzx eax, word [esp + 0x14]
inc dword [esp + 0x24]
cmp ebp, eax
ja 0x1005178
mov cl, byte [esp + 0x14]
movzx eax, si
mov dword [0x102ffd4], eax
mov eax, edi
imul eax, eax, 0xe89e
add si, ax
mov word [0x103001c], si
mov dl, byte [0x103001c]
sub cl, dl
sub cl, 0x39
mov byte [esp + 0x13], cl
jmp 0x100517e
mov dl, byte [0x103001c]
movzx eax, cl
cmp eax, 0x9e79
jle 0x1005194
mov cl, bl
add cl, byte [esp + 0x18]
dec cl
mov byte [esp + 0x13], cl
test ebp, ebp
je 0x10051e6
cmp ebp, 0x30
je 0x10051ce
cmp ebp, 0xba
je 0x10051b6
movzx ax, cl
mov edi, 0xffb6
sub di, ax
movzx edi, di
jmp 0x10051c8
mov eax, dword [esp + 0x1c]
movzx di, cl
sub ax, di
add ax, 0x5a
movzx edi, ax
mov dword [esp + 0x14], edi
jmp 0x10051f3
movzx ax, cl
add ax, word [esp + 0x1c]
add ax, 4
add word [esp + 0x14], ax
mov edi, dword [esp + 0x14]
jmp 0x10051f3
mov cl, byte [esp + 0x14]
sub cl, bl
sub cl, 0x39
mov byte [esp + 0x13], cl
cmp dword [esp + 0x24], 0x114
jge 0x100526e
push 0x45b
push 0x1032af8
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
mov si, word [0x103001c]
mov ebp, dword [0x102ffc4]
mov bl, byte [0x1030017]
mov byte [esp + 0x13], al
movzx eax, si
cmp dword [0x102ffe8], eax
jb 0x1005264
mov esi, dword [0x103001c]
mov eax, dword [esp + 0x24]
imul esi, edi
mov ecx, dword [0x102ffa0]
add esi, eax
imul ecx, eax
mov word [0x103001c], si
sub eax, dword [0x103001c]
mov dword [0x102ffa0], ecx
add eax, 0x5a
movzx edi, ax
mov dword [esp + 0x14], edi
mov cl, byte [esp + 0x13]
mov dl, byte [0x103001c]
cmp dword [0x103003c], 0
mov ax, word [esp + 0x14]
je 0x10058ef
cmp ax, word [esp + 0x18]
jae 0x10052ed
movzx cx, bl
sub ax, cx
add ax, 0x51
movzx eax, ax
movzx ecx, ax
mov dword [esp + 0x18], eax
cmp ecx, 0x376bce
jne 0x10052dd
test ebp, ebp
je 0x10052dd
cmp ebp, 0x30
je 0x10052cd
cmp ebp, 0xba
je 0x10052c1
mov eax, 0xffb6
sub eax, edi
movzx eax, ax
jmp 0x10052d9
mov eax, dword [0x1030020]
sub eax, edi
add eax, 0x5a
jmp 0x10052bc
mov ecx, dword [0x1030020]
add ecx, edi
lea eax, [eax + ecx + 4]
mov dword [esp + 0x18], eax
mov eax, dword [0x1030020]
sub eax, dword [esp + 0x18]
sub eax, 0xd39
jmp 0x10052fa
mov eax, dword [esp + 0x2c]
mov ecx, dword [0x1030020]
lea eax, [eax + ecx*8]
movzx edi, ax
mov al, bl
sub al, byte [esp + 0x18]
mov dword [esp + 0x14], edi
sub al, 0x39
test ebp, ebp
je 0x100534b
movzx cx, al
cmp ebp, 0x30
je 0x1005336
cmp ebp, 0xba
je 0x1005328
mov esi, 0xffb6
sub si, cx
jmp 0x1005342
mov si, word [esp + 0x14]
sub si, cx
add si, 0x5a
jmp 0x1005342
add cx, word [esp + 0x14]
add cx, 4
add si, cx
mov word [0x103001c], si
jmp 0x1005354
sub dl, byte [esp + 0x14]
sub dl, 0x39
mov al, dl
cmp dword [esp + 0x20], 3
jae 0x1005422
movzx cx, bl
mov word [esp + 0x1c], cx
imul ecx, ecx, 0xe89e
add dword [esp + 0x18], ecx
movzx ecx, word [esp + 0x14]
cmp ebp, ecx
ja 0x10053a1
movzx eax, si
mov dword [0x102ffd4], eax
mov eax, edi
imul eax, eax, 0xe89e
add si, ax
mov al, byte [esp + 0x14]
mov word [0x103001c], si
sub al, byte [0x103001c]
sub al, 0x39
cmp ecx, 0x149c7
jge 0x10053b4
mov cl, bl
add cl, byte [esp + 0x18]
add cl, 4
add al, cl
test ebp, ebp
je 0x1005404
cmp ebp, 0x30
je 0x10053ee
cmp ebp, 0xba
je 0x10053d6
movzx ax, al
mov ecx, 0xffb6
sub cx, ax
movzx edi, cx
jmp 0x10053e8
movzx cx, al
mov eax, dword [esp + 0x1c]
sub ax, cx
add ax, 0x5a
movzx edi, ax
mov dword [esp + 0x14], edi
jmp 0x1005404
movzx ax, al
add ax, word [esp + 0x1c]
add ax, 4
add word [esp + 0x14], ax
mov edi, dword [esp + 0x14]
dec dword [esp + 0x20]
movzx eax, word [esp + 0x18]
mov ecx, dword [esp + 0x20]
lea eax, [eax + ecx + 0x4a]
sub dword [0x1030020], eax
sbb dword [0x1030024], 0
mov ecx, dword [0x102ffb8]
mov edx, dword [0x102ffdc]
mov al, bl
sub al, byte [esp + 0x18]
add ecx, edx
sub al, 0x39
mov byte [esp + 0x13], al
cmp ecx, 0x284
jne 0x100546a
movzx cx, al
shl cx, 3
add si, cx
mov cl, 0xb6
mov word [0x103001c], si
sub cl, byte [0x103001c]
sub cl, byte [esp + 0x14]
add al, cl
mov byte [esp + 0x13], al
jmp 0x1005492
movzx ecx, si
mov esi, dword [0x103001c]
push 0xffffffffffffffb6
pop edx
sub edx, ecx
movzx ecx, word [esp + 0x14]
sub edx, ecx
add dword [str.:_], edx
imul esi, esi, 0xe89f
mov word [0x103001c], si
movzx ecx, word [esp + 0x14]
cmp dword [0x102ffe8], ecx
jb 0x10054d2
movzx ax, al
imul ax, word [esp + 0x14]
movzx cx, bl
add ax, cx
movzx edi, ax
movzx eax, bl
imul eax, dword [0x102ffa0]
mov dword [0x102ffa0], eax
mov dword [esp + 0x14], edi
mov al, bl
sub al, byte [esp + 0x14]
add al, 0x5a
mov byte [esp + 0x13], al
movzx eax, word [esp + 0x18]
cmp eax, 0x14bf5
mov dword [esp + 0x28], eax
jle 0x10055e0
mov al, 0xb6
sub al, bl
sub al, byte [esp + 0x18]
add byte [esp + 0x13], al
movzx eax, word [esp + 0x14]
cdq
cmp dword [0x1030020], eax
jne 0x100559e
cmp dword [0x1030024], edx
jne 0x100559e
test ebp, ebp
je 0x1005559
movzx ax, byte [esp + 0x13]
cmp ebp, 0x30
je 0x1005546
cmp ebp, 0xba
je 0x1005531
mov ecx, 0xffb6
sub cx, ax
jmp 0x100553d
mov cx, word [esp + 0x14]
sub cx, ax
add cx, 0x5a
mov word [0x103001c], cx
jmp 0x1005559
add ax, word [esp + 0x14]
add ax, 4
add si, ax
mov word [0x103001c], si
push dword [esp + 0x28]
call fcn.0100443d
cmp dword [0x102ff98], 0xe87
mov bl, byte [0x1030017]
mov ebp, dword [0x102ffc4]
mov si, word [0x103001c]
pop ecx
mov byte [esp + 0x13], al
jne 0x100559e
mov eax, dword [0x102ffc0]
movzx cx, bl
add eax, edi
inc cx
imul ax, cx
movzx edi, ax
mov dword [esp + 0x14], edi
movzx eax, word [esp + 0x14]
cmp dword [0x102ffe8], eax
jb 0x10055e0
movzx ax, byte [esp + 0x13]
imul ax, word [esp + 0x14]
movzx cx, bl
add ax, cx
movzx edi, ax
movzx eax, bl
imul eax, dword [0x102ffa0]
mov dword [0x102ffa0], eax
mov dword [esp + 0x14], edi
mov al, bl
sub al, byte [esp + 0x14]
add al, 0x5a
mov byte [esp + 0x13], al
mov ecx, dword [esp + 0x18]
cmp ebp, dword [esp + 0x28]
ja 0x100560d
movzx eax, bl
mov dword [0x102ffd4], eax
mov dl, 0x9e
mov al, cl
imul dl
add bl, al
mov dl, cl
sub dl, bl
sub dl, 0x39
mov byte [0x1030017], bl
mov byte [esp + 0x13], dl
jmp 0x1005611
mov dl, byte [esp + 0x13]
movzx eax, bl
cmp dword [0x102ffe8], eax
jb 0x1005646
mov al, bl
imul dl
add al, cl
mov bl, al
mov eax, dword [esp + 0x28]
imul eax, dword [0x102ffa0]
mov dword [0x102ffa0], eax
mov al, cl
sub al, bl
add al, 0x5a
mov dl, al
mov byte [0x1030017], bl
mov byte [esp + 0x13], dl
cmp si, cx
jne 0x100566f
cmp dword [0x102ff98], 0xe87
jne 0x100566f
mov eax, dword [0x102ffc0]
add eax, edi
movzx di, bl
inc di
imul ax, di
movzx edi, ax
mov dword [esp + 0x14], edi
mov eax, dword [0x102ffb8]
mov ebp, dword [0x102ffdc]
add eax, ebp
cmp eax, 0x284
jne 0x100569b
mov esi, 0xffb6
sub esi, dword [0x103001c]
lea ecx, [ecx + edi*8]
sub esi, ecx
add edi, esi
mov dword [esp + 0x14], edi
jmp 0x10056b6
movzx esi, si
push 0xffffffffffffffb6
pop ebp
sub ebp, esi
sub ebp, dword [esp + 0x28]
add dword [str.:_], ebp
imul ecx, ecx, 0xe89f
movzx ecx, cx
mov dword [esp + 0x18], ecx
cmp eax, 0x284
jne 0x10056de
movzx ax, dl
shl ax, 3
add word [esp + 0x14], ax
mov al, 0xb6
sub al, bl
sub al, byte [esp + 0x14]
add dl, al
mov byte [esp + 0x13], dl
jmp 0x1005700
movzx eax, bl
push 0xffffffffffffffb6
pop ecx
sub ecx, eax
movzx eax, word [esp + 0x14]
sub ecx, eax
add dword [str.:_], ecx
imul edi, edi, 0xe89f
movzx eax, di
mov dword [esp + 0x14], eax
push dword [0x1030024]
movzx ax, bl
push dword [0x1030020]
mov ecx, 0xe89e
imul ax, cx
add word [esp + 0x1c], ax
movzx esi, bl
mov eax, esi
cdq
push edx
push eax
call fcn.01013650
xor ecx, ecx
add eax, dword [0x103003c]
push esi
adc edx, ecx
mov dword [0x1030020], eax
mov dword [0x1030024], edx
call fcn.010040c5
movzx edi, word [esp + 0x1c]
mov ebp, dword [0x102ffc4]
pop ecx
mov ecx, dword [esp + 0x18]
cmp ebp, edi
ja 0x1005787
mov al, cl
mov dl, 0x9e
imul dl
add bl, al
movzx ax, bl
mov dx, cx
sub dx, ax
mov eax, 0xd39
sub dx, ax
movzx eax, dx
mov dword [0x102ffd4], esi
mov byte [0x1030017], bl
mov dword [esp + 0x14], eax
cmp dword [0x103003c], 5
jae 0x10057ef
cmp ebp, edi
ja 0x10057c0
movzx eax, bl
mov dword [0x102ffd4], eax
mov al, cl
mov dl, 0x9e
imul dl
add bl, al
movzx ax, bl
sub cx, ax
mov eax, 0xd39
sub cx, ax
movzx eax, cx
mov byte [0x1030017], bl
mov dword [esp + 0x14], eax
push 0x687
call dword [sym.imp.KERNEL32.dll_Sleep]
movzx ax, byte [esp + 0x13]
add ax, word [esp + 0x18]
mov ebp, dword [0x102ffc4]
mov bl, byte [0x1030017]
mov ecx, dword [esp + 0x18]
add ax, 4
add word [esp + 0x14], ax
movzx ax, bl
sub ax, word [esp + 0x14]
add ax, 0x5a
dec dword [0x103003c]
movzx eax, ax
mov dword [esp + 0x14], eax
test ebp, ebp
je 0x1005835
cmp ebp, 0x30
je 0x100582b
cmp ebp, 0xba
je 0x1005820
mov bl, 0xb6
sub bl, al
jmp 0x1005835
mov bl, cl
sub bl, byte [esp + 0x14]
add bl, 0x5a
jmp 0x1005835
mov al, cl
add al, byte [esp + 0x14]
add al, 4
add bl, al
movzx ax, bl
mov edx, 0xffb6
sub dx, ax
mov eax, dword [esp + 0x2c]
movzx edi, dx
movzx edx, di
lea edx, [edx + eax + 4]
add dword [0x1030020], edx
mov dword [esp + 0x14], edi
adc dword [0x1030024], 0
cmp eax, 4
jae 0x10058a5
test ebp, ebp
jne 0x1005872
sub cl, bl
sub cl, 0x39
mov byte [esp + 0x13], cl
movzx ax, byte [esp + 0x13]
dec dword [esp + 0x2c]
cmp dword [0x102ff98], 0xe87
lea ecx, [edi + eax*8]
mov word [0x103001c], cx
jne 0x10058a5
mov ecx, dword [0x102ffc0]
add ecx, edi
inc eax
imul ecx, eax
movzx edi, cx
mov dword [esp + 0x14], edi
mov al, 0x5b
sub al, byte [esp + 0x14]
mov byte [0x1030017], al
movzx eax, byte [esp + 0x13]
push eax
call fcn.01004570
mov ebp, dword [0x102ffc4]
mov bl, byte [0x1030017]
mov si, word [0x103001c]
movzx eax, ax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x24]
imul eax, eax, 0xe89e
add edi, eax
pop ecx
mov cl, byte [esp + 0x13]
mov dword [esp + 0x14], edi
jmp 0x1005129
mov eax, dword [esp + 0x34]
sub eax, edi
add eax, 0x5a
movzx eax, ax
mov dword [esp + 0x18], eax
movzx eax, word [esp + 0x14]
cmp ebp, eax
ja 0x1005935
mov bl, byte [esp + 0x14]
imul edi, edi, 0xe89e
movzx eax, si
add si, di
mov word [0x103001c], si
mov dl, byte [0x103001c]
sub bl, dl
sub bl, 0x39
mov dword [0x102ffd4], eax
mov byte [0x1030017], bl
movzx cx, cl
movzx ax, bl
sub cx, ax
add cx, 0x51
movzx edi, cx
mov dword [esp + 0x14], edi
test ebp, ebp
je 0x100597e
cmp ebp, 0x30
je 0x100596d
cmp ebp, 0xba
je 0x1005962
mov bl, 0xb6
sub bl, dl
jmp 0x1005976
mov bl, byte [esp + 0x18]
sub bl, dl
add bl, 0x5a
jmp 0x1005976
add dl, byte [esp + 0x18]
add dl, 4
add bl, dl
mov byte [0x1030017], bl
jmp 0x1005991
sub eax, dword [esp + 0x18]
sub eax, 0xd39
mov si, ax
mov word [0x103001c], si
movzx ecx, word [esp + 0x14]
movzx eax, si
lea eax, [eax + ecx - 1]
cdq
mov dword [0x1030020], eax
mov dword [0x1030024], edx
cmp ecx, 0x82b907
jne 0x1005a3c
mov ecx, dword [esp + 0x18]
movzx esi, cx
cmp ebp, esi
ja 0x10059e0
movzx eax, bl
mov dword [0x102ffd4], eax
mov al, cl
mov dl, 0x9e
imul dl
add bl, al
mov al, cl
sub al, bl
sub al, 0x39
mov byte [0x1030017], bl
mov byte [esp + 0x13], al
movzx eax, byte [esp + 0x13]
push eax
call fcn.01004570
movzx edi, ax
pop ecx
mov ecx, dword [0x103001c]
mov dword [esp + 0x14], edi
cmp dword [0x102ffe8], esi
jb 0x1005a4c
mov eax, dword [0x1030020]
imul eax, dword [esp + 0x18]
add eax, ecx
movzx esi, ax
movzx eax, cx
mov edx, eax
imul edx, dword [0x102ffa0]
mov dword [0x102ffa0], edx
movzx edx, si
sub eax, edx
add eax, 0x5a
cdq
mov dword [esp + 0x18], esi
mov dword [0x1030020], eax
mov dword [0x1030024], edx
jmp 0x1005a50
lea eax, [eax + ecx*8]
mov ecx, dword [0x103001c]
movzx eax, ax
mov dword [esp + 0x18], eax
mov esi, dword [esp + 0x18]
movzx ax, byte [esp + 0x13]
imul ecx, esi
add cx, ax
mov eax, 0xe87
mov word [0x103001c], cx
cmp word [0x102ffec], ax
jne 0x1005a85
mov eax, dword [0x1030000]
add eax, edi
lea ecx, [esi + 1]
imul eax, ecx
movzx edi, ax
mov dword [esp + 0x14], edi
movzx ebp, byte [esp + 0x13]
push ebp
call fcn.0100443d
movzx ebx, si
pop ecx
mov byte [0x1030017], al
cmp dword [0x102ffe8], ebx
jb 0x1005ae0
mov eax, dword [0x1030020]
imul eax, esi
add eax, dword [0x103001c]
movzx esi, ax
movzx eax, word [0x103001c]
mov ecx, eax
imul ecx, dword [0x102ffa0]
movzx ebx, si
sub eax, ebx
add eax, 0x5a
cdq
mov dword [esp + 0x18], esi
mov dword [0x102ffa0], ecx
mov dword [0x1030020], eax
mov dword [0x1030024], edx
push dword [0x1030020]
call fcn.010011d0
mov eax, dword [0x102ffc4]
pop ecx
test eax, eax
je 0x1005b4a
cmp eax, 0x30
je 0x1005b37
cmp eax, 0xba
je 0x1005b1e
mov eax, dword [0x1030020]
sub ebx, eax
add ebx, 0x51
movzx ecx, bx
mov dword [esp + 0x18], ecx
mov ecx, 0xffb6
sub ecx, eax
movzx eax, cx
jmp 0x1005b2f
mov eax, dword [0x103001c]
sub eax, dword [0x1030020]
add eax, 0x5a
movzx eax, ax
mov dword [esp + 0x18], eax
mov esi, eax
jmp 0x1005b66
mov eax, dword [0x1030020]
mov ecx, dword [0x103001c]
add eax, ecx
lea esi, [esi + eax + 4]
jmp 0x1005b66
movzx ecx, word [0x103001c]
mov eax, ebx
sub eax, ecx
add eax, 0xf2c7
cdq
mov dword [0x1030020], eax