Function at 0x482ca0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xd8
mov esi, esp
call fcn.00483a40
mov edx, 0x1ff
mov ecx, eax
mov edx, dword [ebp + 0x10]
mov edi, dword [ebp + 0xc]
mov ebx, dword [0x88c650]
mov dword [esi + 0xcc], eax
mov eax, dword [0x88c654]
mov dword [esi + 0xc8], eax
mov eax, ebx
sub eax, 1
imul ebx, eax
and ebx, 1
cmp ebx, 0
sete al
call fcn.00483a50
cmp ebx, 0xa
setl ah
or al, ah
test al, 1
mov dword [esi + 0xc4], edi
mov dword [esi + 0xc0], ecx
mov dword [esi + 0xbc], edx
jne 0x482d25
jmp 0x48390d
mov eax, dword [0x88c650]
mov ecx, dword [0x88c654]
mov edx, ebx
mov edx, eax
add edx, 0xffffffff
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
or bl, bh
test bl, 1
jne 0x482d63
jmp 0x4839c1
mov eax, 4
mov dword [esi + 0xb8], eax
call fcn.00437f10
mov eax, edx
mov eax, esp
mov ecx, dword [esi + 0xb8]
mov dword [esi + 0xb4], eax
mov eax, ecx
mov eax, ecx
call fcn.00437f10
mov eax, esp
mov ecx, 0x18
mov dword [esi + 0xb0], eax
mov eax, ecx
call fcn.00483a60
call fcn.00437f10
mov eax, esp
and eax, 0xfffffff8
mov ecx, 0x800
mov esp, eax
mov ecx, dword [esi + 0xac]
mov dword [esi + 0xa8], eax
mov eax, 0x437330
mov eax, ecx
call fcn.00437f10
mov eax, esp
and eax, 0xfffffff8
mov ecx, esi
mov esp, eax
mov ecx, dword [esi + 0xb8]
mov dword [esi + 0xa4], eax
mov eax, 0x437348
mov eax, ecx
call fcn.00437f10
mov eax, esp
mov ecx, dword [esi + 0xb8]
mov dword [esi + 0xa0], eax
mov eax, ecx
call fcn.00437f10
mov eax, esp
mov ecx, 0x104
mov dword [esi + 0x9c], eax
mov eax, ecx
call fcn.00437f10
mov eax, 0x437228
mov eax, esp
mov ecx, dword [esi + 0xb8]
mov dword [esi + 0x98], eax
mov eax, ecx
call fcn.00437f10
mov eax, esp
mov ecx, dword [esi + 0xac]
mov dword [esi + 0x94], eax
mov eax, ecx
call fcn.00437f10
mov eax, esp
and eax, 0xfffffff8
mov ecx, 0x1000
mov esp, eax
mov ecx, dword [esi + 0xb8]
mov dword [esi + 0x90], eax
mov eax, 0x437324
mov eax, ecx
call fcn.00437f10
mov eax, esp
mov ecx, dword [esi + 0xb8]
mov dword [esi + 0x8c], eax
mov eax, ecx
call fcn.00437f10
mov ecx, 2
mov eax, esp
call fcn.00483a70
mov edx, dword [esi + 0xbc]
mov dword [ecx], edx
mov edi, dword [esi + 0xb0]
mov ebx, dword [esi + 0xc4]
mov dword [edi], ebx
mov ecx, dword [esi + 0xa8]
mov dword [esi + 0x88], eax
call fcn.004bb4d0
call fcn.00483a80
call fcn.00483a90
mov edi, ecx
sub edi, 1
imul ecx, edi
and ecx, 1
cmp ecx, 0
sete cl
cmp edx, 0xa
setl ch
or cl, ch
test cl, 1
mov dword [esi + 0x84], eax
jne 0x482ef1
jmp 0x4839c1
mov eax, dword [0x88c650]
mov ecx, dword [0x88c654]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
or bl, bh
test bl, 1
jne 0x482f2d
jmp 0x48390d
mov eax, dword [0x88c650]
mov ecx, dword [0x88c654]
mov edx, 0x4373cc
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
or bl, bh
test bl, 1
jne 0x482f6e
jmp 0x483a28
mov eax, dword [0x88c650]
mov ecx, dword [0x88c654]
mov edx, 0x437354
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
or bl, bh
test bl, 1
jne 0x482faf
jmp 0x483a28
mov ecx, dword [esi + 0xa4]
call fcn.004bb4d0
mov dword [esi + 0x80], eax
mov eax, dword [esi + 0xb0]
cmp dword [eax], 0
jne 0x483234
mov eax, dword [0x88c650]
mov ecx, dword [0x88c654]
mov edx, 0x4373e4
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
or bl, bh
test bl, 1
jne 0x483013
jmp 0x483977
mov eax, dword [0x88c650]
mov ecx, dword [0x88c654]
mov edx, eax
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
or bl, bh
test bl, 1
jne 0x483051
jmp 0x483977
sub esp, 8
mov ecx, ebx
mov eax, esp
mov ecx, dword [esi + 0x98]
mov dword [eax + 4], ecx
mov dword [eax], 0x104
mov eax, dword [sym.imp.KERNEL32.dll_GetTempPathA]
call eax
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x7c]
cmp eax, 0
je 0x483127
sub esp, 4
mov eax, esp
mov ecx, dword [esi + 0x98]
call fcn.00483aa0
call fcn.00483ab0
call fcn.00405980
mov dword [esi + 0x78], eax
call fcn.00483ac0
mov ecx, dword [0x88c654]
mov edx, 0xf
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
or bl, bh
test bl, 1
jne 0x4830dd
jmp 0x48397c
mov eax, dword [0x88c650]
mov ecx, dword [0x88c654]
mov edx, eax
add edx, 0xffffffff
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
push edx
mov edx, 0x7a2fc699
xor edx, 0x7a2fc693
cmp ecx, edx
pop edx
setl bh
or bl, bh
test bl, 1
jne 0x483122
jmp 0x48397c
jmp 0x483127
mov ecx, dword [esi + 0xa8]
call fcn.004ddfd0
mov ecx, 1
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00483ad0
call fcn.004493f0
add esp, 8
mov byte [esi + 0x73], al
mov al, byte [esi + 0x73]
test al, 1
jne 0x48322f
jmp 0x483165
call fcn.00483ae0
mov ecx, dword [0x88c654]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
or bl, bh
test bl, 1
jne 0x4831a1
jmp 0x483981
mov eax, dword [esi + 0xb4]
cmp dword [eax], 0
setne cl
mov edx, dword [0x88c650]
mov edi, dword [0x88c654]
mov ebx, edx
add ebx, 0xffffffff
imul edx, ebx
and edx, 1
cmp edx, 0
sete ch
push ebx
mov ebx, 0x313df0bd
xor ebx, 0x313df0b7
cmp edi, ebx
pop ebx
setl al
or ch, al
test ch, 1
mov byte [esi + 0x72], cl
jne 0x4831fb
jmp 0x483981
mov al, byte [esi + 0x72]
test al, 1
jne 0x48320b
jmp 0x48322f
call fcn.00483af0
call fcn.00483b00
sub esp, 4
mov edx, esp
mov dword [edx], ecx
mov ecx, dword [esi + 0xa8]
call fcn.00405980
mov dword [esi + 0x6c], eax
jmp 0x48322f
jmp 0x483369
mov eax, dword [0x88c650]
mov ecx, dword [0x88c654]
mov edx, ecx
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
or bl, bh
test bl, 1
jne 0x483272
jmp 0x483986
mov eax, dword [esi + 0xb0]
mov ecx, dword [eax]
mov edx, dword [0x88c650]
mov edi, dword [0x88c654]
mov ebx, esi
mov ebx, edx
sub ebx, 1
imul edx, ebx
and edx, 1
push ecx
mov ecx, 0xb26f9286
xor ecx, 0xb26f9286
cmp edx, ecx
pop ecx
sete al
push ebx
mov ebx, 0xdba93e08
xor ebx, 0xdba93e02
cmp edi, ebx
pop ebx
setl ah
or al, ah
test al, 1
mov dword [esi + 0x68], ecx
jne 0x4832cf
jmp 0x483986
sub esp, 4
mov eax, 0x437324
mov eax, esp
mov ecx, dword [esi + 0x68]
mov dword [eax], ecx
mov ecx, dword [esi + 0xa8]
call fcn.00405980
mov dword [esi + 0x64], eax
mov eax, dword [0x88c650]
mov ecx, dword [0x88c654]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
or bl, bh
test bl, 1
jne 0x483328
jmp 0x483a2d
mov eax, dword [0x88c650]
mov ecx, dword [0x88c654]
mov edx, eax
add edx, 0xffffffff
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
or bl, bh
test bl, 1
jne 0x483364
jmp 0x483a2d
jmp 0x483369
mov ecx, dword [esi + 0xa8]
call fcn.005231f0
test al, 1
jne 0x48359b
mov ecx, dword [esi + 0xa8]
call fcn.004059b0
sub eax, 1
sub esp, 4
mov ecx, esp
call fcn.00483b10
mov ecx, dword [esi + 0xa8]
call fcn.004981f0
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
movsx ecx, byte [eax]
cmp ecx, 0x5c
je 0x48359b
mov ecx, dword [esi + 0xa8]
call fcn.004059b0
sub eax, 1
sub esp, 4
mov ecx, esp
mov dword [ecx], eax
call fcn.00483b20
call fcn.004981f0
mov dword [esi + 0x5c], eax
mov eax, dword [0x88c650]
mov ecx, dword [0x88c654]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
or bl, bh
test bl, 1
jne 0x483416
jmp 0x48398b
mov eax, dword [esi + 0x5c]
movsx ecx, byte [eax]
cmp ecx, 0x2f
setne dl
mov ecx, dword [0x88c650]
mov edi, dword [0x88c654]
mov ebx, ecx
add ebx, 0xffffffff
imul ecx, ebx
and ecx, 1
push ebx
mov ebx, 0xc3fe8d1f
xor ebx, 0xc3fe8d1f
cmp ecx, ebx
pop ebx
sete dh
cmp edi, 0xa
setl al
or dh, al
test dh, 1
mov byte [esi + 0x5b], dl
jne 0x483470
jmp 0x48398b
mov eax, dword [0x88c650]
mov ecx, dword [0x88c654]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
or bl, bh
test bl, 1
jne 0x4834ac
jmp 0x483a32
mov eax, dword [0x88c650]
mov ecx, dword [0x88c654]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
or bl, bh
test bl, 1
jne 0x4834e8
jmp 0x483a32
mov al, byte [esi + 0x5b]
test al, 1
jne 0x4834f8
jmp 0x48359b
mov eax, dword [0x88c650]
call fcn.00483b30
mov edx, 0x400000
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
or bl, bh
test bl, 1
jne 0x483538
jmp 0x483a37
mov eax, dword [0x88c650]
mov ecx, dword [0x88c654]
mov edx, ecx
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
or bl, bh
test bl, 1
jne 0x483576
jmp 0x483a37
sub esp, 8
mov eax, esp
mov dword [eax + 4], 0x5c
mov dword [eax], 1
mov ecx, dword [esi + 0xa8]
call fcn.0044f320
mov dword [esi + 0x54], eax
jmp 0x48359b
mov eax, dword [esi + 0x94]
call fcn.00483b40
mov eax, dword [esi + 0x94]
cmp dword [eax], 0x200
jge 0x48384d
call fcn.00438ae0
call fcn.00483b50
mov eax, dword [0x88c650]
mov ecx, dword [0x88c654]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
or bl, bh
test bl, 1
jne 0x4835fe
jmp 0x483990
mov eax, dword [esi + 0x50]
and eax, 0xffff
shl eax, 0x10
mov ecx, dword [0x88c650]
mov edx, dword [0x88c654]
mov edi, ecx
sub edi, 1
imul ecx, edi
and ecx, 1
cmp ecx, 0
sete bl
cmp edx, 0xa
setl bh
or bl, bh
test bl, 1
mov dword [esi + 0x4c], eax
jne 0x48364b
jmp 0x483990
call fcn.00438ae0
mov dword [esi + 0x48], eax
mov eax, dword [esi + 0x4c]
mov ecx, dword [esi + 0x48]
or eax, ecx
mov ecx, dword [esi + 0xa8]
mov dword [esi + 0x44], eax
call fcn.004ddfd0
lea ecx, [0x877f04]
sub esp, 0x10
call fcn.00483b60
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov eax, dword [esi + 0x44]
mov dword [esp + 0xc], eax
call fcn.0047e9f0
add esp, 0x10
sub esp, 4
mov eax, esp
call fcn.00483b70
mov dword [eax], ecx
call fcn.00483b80
call fcn.004d3110
mov ecx, dword [esi + 0x90]
mov dword [esi + 0x40], eax
call fcn.00551e20
mov ecx, dword [esi + 0xa4]
call fcn.004ddfd0
sub esp, 4
mov dword [esp], eax
call fcn.0044a220
add esp, 4
mov byte [esi + 0x3f], al
cmp dword [0x87f2dc], 0
je 0x48373c
mov eax, dword [0x87ee8c]
mov ecx, dword [esi + 0xa4]
call fcn.00483b90
call fcn.004ddfd0
sub esp, 0x1c
mov ecx, ebx
mov ecx, esp
mov dword [ecx], eax
call fcn.00483ba0
mov dword [ecx + 0x14], 0x80
mov dword [ecx + 0x10], 1
call fcn.00483bb0
mov dword [ecx + 8], 0
mov dword [ecx + 4], 0xc0000000
call fcn.00483bc0
call eax
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x34]
call fcn.00483bd0
jmp 0x483749
mov eax, 0xffffffff
mov dword [esi + 0x30], eax
jmp 0x483749
mov eax, dword [esi + 0x30]
mov ecx, 0xffffffff
mov edx, dword [esi + 0x8c]
mov dword [edx], eax
cmp dword [edx], ecx
je 0x483833
mov eax, dword [esi + 0x8c]
mov ecx, dword [eax]
sub esp, 4
mov edx, 0x43724c
mov edx, esp
mov dword [edx], ecx
mov ecx, dword [sym.imp.KERNEL32.dll_CloseHandle]
call ecx
mov dword [esi + 0x2c], eax
sub esp, 4
mov eax, 0x4373cc
mov eax, esp
mov ecx, dword [esi + 0xa4]
mov dword [eax], ecx
mov ecx, dword [esi + 0xcc]
call fcn.00498240
mov dword [esi + 0x28], eax
mov eax, dword [0x88c650]
call fcn.00483be0
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
or bl, bh
test bl, 1
jne 0x4837db
jmp 0x483995
mov eax, dword [esi + 0x88]
mov dword [eax], 1
mov ecx, dword [0x88c650]
call fcn.00483bf0
mov edi, ecx
sub edi, 1
imul ecx, edi
and ecx, 1
push ebx
mov ebx, 0x9abec326
xor ebx, 0x9abec326
cmp ecx, ebx
pop ebx
sete bl
cmp edx, 0xa
setl bh
or bl, bh
test bl, 1
jne 0x48382e
jmp 0x483995
jmp 0x483867
jmp 0x483838
mov eax, dword [esi + 0x94]
mov ecx, dword [eax]
add ecx, 1
mov dword [eax], ecx
jmp 0x4835a6
mov ecx, dword [esi + 0xcc]
call fcn.004bb4d0
mov dword [esi + 0x24], eax
mov eax, dword [esi + 0x88]
mov dword [eax], 1
mov eax, dword [0x88c650]
mov ecx, dword [0x88c654]
mov edx, eax
sub edx, 1
imul eax, edx
and eax, 1
push ebx
mov ebx, 0x7f823b2f
xor ebx, 0x7f823b2f
cmp eax, ebx
pop ebx
sete bl
cmp ecx, 0xa
setl bh
or bl, bh
test bl, 1
jne 0x4838ad
jmp 0x4839a6
mov ecx, dword [esi + 0xa4]
call fcn.00551e20
mov ecx, dword [esi + 0xa8]
call fcn.00551e20
call fcn.00483c00
call fcn.00483c10
mov edx, ecx
sub edx, 1
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl bh
or bl, bh
test bl, 1
jne 0x4838ff
jmp 0x4839a6
mov eax, dword [esi + 0xc0]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, 4
mov dword [esi + 0x20], eax
call fcn.00437f10
mov eax, esp
mov ecx, dword [esi + 0x20]
call fcn.00483c20
mov eax, 0x43733c
mov eax, ecx
call fcn.00437f10
mov eax, esp
mov ecx, 0x18
mov dword [esi + 0x18], eax
mov eax, ecx
call fcn.00437f10
mov eax, esi
mov eax, esp
and eax, 0xfffffff8
mov ecx, 0x437270
mov esp, eax
mov ecx, dword [esi + 0x1c]
mov edx, dword [esi + 0xbc]
call fcn.00483c30
mov edi, dword [esi + 0x18]
mov ebx, dword [esi + 0xc4]
mov dword [edi], ebx
mov ecx, eax
call fcn.004bb4d0
mov dword [esi + 0x14], eax
jmp 0x482d25
jmp 0x483013
jmp 0x4830dd
jmp 0x4831a1
jmp 0x483272
jmp 0x483416
jmp 0x4835fe
mov eax, dword [esi + 0x88]
mov dword [eax], 1
jmp 0x4837db
mov ecx, dword [esi + 0xa4]
call fcn.00551e20
mov ecx, dword [esi + 0xa8]
call fcn.00551e20
jmp 0x4838ad
mov eax, 4
call fcn.00483c40
call fcn.00437f10
mov eax, esp
mov ecx, dword [esi + 0x10]
mov dword [esi + 0xc], eax
mov eax, esi
mov eax, ecx
call fcn.00437f10
mov eax, esp
mov ecx, 0x18
mov dword [esi + 8], eax
mov eax, ecx
call fcn.00437f10
mov eax, esp
and eax, 0xfffffff8
mov edx, 1
mov esp, eax
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 0xbc]
mov dword [ecx], edx
mov edi, dword [esi + 8]
mov ebx, dword [esi + 0xc4]
call fcn.00483c50
mov ecx, esi
mov ecx, eax
call fcn.004bb4d0
mov dword [esi + 4], eax
jmp 0x482d63
jmp 0x482f6e
jmp 0x483328
jmp 0x4834ac
jmp 0x483538