Function at 0x100234b3
Capabilities:
Get common file path

Disassembly:
mov eax, 0x10065d87
call fcn.10064ee8
sub esp, 0xc0
push ebx
push esi
push edi
mov dword [ebp - 0x14], 3
xor ebx, ebx
push 0x1c
mov dword [ebp - 0x20], 0xfd3df75d
mov dword [ebp - 0x24], 0xe3d2f551
pop edi
mov dword [ebp - 0x28], 0x6e836ea0
push 1
mov dword [ebp - 0x30], 0x3f36fc75
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x20], ebx
pop esi
jmp 0x100235a9
mov dword [ebp - 0x14], 0xa35f394
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x14], 4
jmp 0x1002358c
mov dword [ebp - 0x1c], 0x4e6d
mov dword [ebp - 0x24], 0x1023dcdf
mov dword [ebp - 0x28], 0x54e3f157
mov dword [ebp - 0x2c], 0x64939e63
cmp dword [ebp - 0x14], ebx
je 0x1002356a
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x28], ebx
jne 0x10023547
cmp dword [ebp - 0x1c], 0x257a10dd
jge 0x10023547
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov ecx, esi
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
dec dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x24], 0xf6b903cf
cmp dword [ebp - 0x24], ebx
jne 0x1002356c
mov ecx, ebx
mov eax, 0xed1
xor edx, edx
sub eax, ecx
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
cmp eax, ecx
setne dl
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x14]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x10023512
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], bl
je 0x100235a6
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetMenu]
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jg 0x100234ff
mov dword [ebp - 0x1c], 0x64f16efa
mov dword [ebp - 0x14], 0xf89b546
mov dword [ebp - 0x1c], 0xafd11d96
mov dword [ebp - 0x30], 0xfffffffd
mov dword [ebp - 0x28], 5
mov dword [ebp - 0x18], 0x69bd697e
mov dword [ebp - 0x20], 0xd19c9214
mov dword [ebp - 0x2c], 0x17a68fab
mov dword [ebp - 0x14], ebx
jmp 0x100235fd
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x6c], 0x85f70ad6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x100235ef
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], bl
je 0x1002361f
push ebx
push ebx
push 0x1ed9
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
push 2
mov dword [ebp - 0x14], ebx
pop edi
jmp 0x1002369c
mov dword [ebp - 0x24], 0xa77c8748
xor edx, edx
mov dword [ebp - 0x24], 8
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
inc dword [ebp - 0x20]
mov dword [ebp - 0x28], 0xfffa
mov eax, dword [ebp - 0x64]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
cmp eax, ecx
mov eax, dword [ebp - 0x14]
setle dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x6c]
cmp eax, edx
mov eax, dword [ebp - 0x14]
setg cl
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp + eax*4 - 0x6c]
imul ecx, dword [ebp - 0x18], 0x5a2e
sub ecx, eax
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp dword [ebp - 0x28], ecx
setle al
xor edx, edx
add eax, dword [ebp - 0x2c]
imul ecx, eax, 0xfffffff8
mov eax, dword [ebp - 0x24]
cmp ecx, eax
setne dl
mov dword [ebp - 0x1c], edx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jle 0x10023627
mov dword [ebp - 0x28], 0x40fff069
lea ecx, [ebp - 0x54]
push edi
call fcn.1000a859
mov dword [ebp - 4], ebx
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x28], 0x2581
cmp dword [ebp - 0x28], 0x137b
jge 0x100237bd
push 0x1065a6f4
push 0x10008430
call fcn.1004bcab
pop ecx
pop ecx
mov edx, dword [0x1076b758]
mov edi, edx
mov dword [ebp - 0x24], edx
mov eax, dword [edx + 4]
mov ecx, eax
mov edx, dword [0x1065a6f4]
cmp byte [ecx + 0xd], 0
jne 0x10023719
cmp dword [ecx + 0x10], edx
jge 0x10023706
mov ecx, dword [ecx + 8]
jmp 0x100236f6
cmp byte [edi + 0xd], 0
je 0x10023712
cmp edx, dword [ecx + 0x10]
cmovl edi, ecx
mov dword [ebp - 0x24], ecx
mov ecx, dword [ecx]
jmp 0x100236f6
cmp byte [edi + 0xd], 0
jne 0x10023731
mov eax, dword [edi]
jmp 0x10023731
cmp edx, dword [eax + 0x10]
jge 0x1002372e
mov edi, eax
mov eax, dword [eax]
jmp 0x10023731
mov eax, dword [eax + 8]
cmp byte [eax + 0xd], 0
je 0x10023723
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x38], eax
cmp eax, edi
je 0x1002375c
lea ecx, [ebp - 0x38]
inc ebx
call fcn.1001d3ef
cmp dword [ebp - 0x38], edi
jne 0x10023744
mov dword [ebp - 0x1c], ebx
xor ebx, ebx
cmp dword [ebp - 0x1c], esi
je 0x100237a8
movzx eax, byte [0x1076b788]
push eax
push ecx
push ecx
lea eax, [ebp - 0xb0]
push eax
call fcn.10027f8b
mov ecx, dword [0x1065a6f4]
inc ecx
mov eax, ecx
mov dword [0x1065a6f4], ecx
push 0xa
cdq
pop edi
idiv edi
test edx, edx
jne 0x100236e0
mov eax, ecx
cdq
idiv edi
mov ecx, eax
cdq
idiv edi
test edx, edx
je 0x1002378f
mov dword [0x1065a6f4], ecx
jmp 0x100236e0
push dword [0x1076b75c]
push 0x10008460
call fcn.1004c43c
pop ecx
pop ecx
push 2
pop edi
mov dword [ebp - 0x14], ebx
jmp 0x100237cf
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x54]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x100237c2
mov dword [ebp - 0x14], ebx
jmp 0x100237f0
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x100237ed
push 0xcbf
call dword [sym.imp.USER32.dll_MessageBeep]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jle 0x100237d9
or dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x54], 0
je 0x10023811
push dword [ebp - 0x54]
call fcn.1004c0e7
pop ecx
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x28], 0xd3cd3624
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x14], ebx
jmp 0x10023832
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x60], 0x56834504
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x10023824
mov dword [ebp - 0x18], ebx
jmp 0x10023872
mov dword [ebp - 0x1c], 0x2e8588d0
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp + eax*4 - 0x60]
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x60], ecx
mov eax, dword [ebp - 0x18]
cmp dword [ebp + eax*4 - 0x60], ebx
je 0x1002386c
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x1002386f
push ebx
call dword [sym.imp.ADVAPI32.dll_GetLengthSid]
jmp 0x1002386f
dec dword [ebp - 0x1c]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jle 0x1002383c
mov dword [ebp - 0x18], ebx
jmp 0x100238b0
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x1002389d
push esi
push 0x263f
push 0x5b5
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SetScrollPos]
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x100238ad
push ebx
call dword [sym.imp.GDI32.dll_CreateRectRgnIndirect]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jne 0x1002387c
mov edi, dword [sym.imp.USER32.dll_GetDC]
mov dword [ebp - 0x14], 0xe
jmp 0x10023a7a
mov dword [ebp - 0x30], 0x8261f9c2
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x100238e4
push 0x30c
push ebx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x100238fe
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call edi
push eax
call dword [sym.imp.GDI32.dll_GetWindowOrgEx]
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x20], 3
mov dword [ebp - 0x1c], 0xcadd6352
mov dword [ebp - 0x18], 0xeadd5d08
push 4
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x18], ebx
pop ecx
jmp 0x10023936
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xc0], 0x7f039d3c
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x10023925
mov dword [ebp - 0x18], ebx
jmp 0x10023951
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x9c], 0xbd6cd538
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x10023940
cmp dword [ebp - 0x20], ebx
jne 0x1002395e
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x1c], ebx
jne 0x1002396d
mov edx, ebx
cmp dword [ebp - 0x20], ebx
je 0x1002396f
mov edx, esi
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp edx, eax
setg cl
xor eax, eax
cmp ecx, 6
setne al
xor edx, edx
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
setle dl
xor ecx, ecx
mov dword [ebp - 0x18], edx
mov edx, 0x40fff069
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0xc0], edx
mov eax, dword [ebp - 0x20]
cmp eax, edx
mov eax, dword [ebp - 0x20]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setg dl
xor ecx, ecx
cmp edx, eax
setg cl
sub ecx, dword [ebp - 0x1c]
imul ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x94]
cmp esi, ecx
sbb ecx, ecx
inc ecx
imul ecx, eax
mov dword [ebp - 0x94], ecx
test ecx, ecx
je 0x100239f4
mov dword [ebp - 0x1c], 0xbc712bad
inc dword [ebp - 0x1c]
jmp 0x100239fe
mov dword [ebp - 0x1c], 0xfffffffe
dec dword [ebp - 0x1c]
mov dword [ebp - 0x20], ebx
jmp 0x10023a11
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x34], 0x81826fbd
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jl 0x10023a03
call fcn.10023201
cmp dword [ebp - 0x14], ebx
je 0x10023a72
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setge cl
add ecx, dword [ebp - 0x34]
cmp ecx, 0xfff6
mov ecx, 0x30f8
sbb eax, eax
neg eax
sub ecx, eax
mov eax, dword [ebp - 0x34]
add ecx, eax
mov eax, dword [ebp - 0x34]
add eax, ecx
mov ecx, dword [ebp - 0x14]
add ecx, eax
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x1c], eax
mov eax, esi
jle 0x10023a74
mov eax, ebx
mov dword [ebp - 0x28], eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x12
jle 0x100238c8
mov dword [ebp - 0x14], 0x6da5
mov dword [ebp - 0x1c], 0xbf90edca
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x28], 0xfffffffa
mov dword [ebp - 0x30], 0xf3f17e2f
mov dword [ebp - 0x20], 0xb3bfa32a
mov dword [ebp - 0x24], ebx
push 3
mov dword [ebp - 0x24], 0x9069002f
mov dword [ebp - 0x18], ebx
pop ecx
jmp 0x10023ad0
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xa8], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x10023ac3
mov dword [ebp - 0x18], ebx
jmp 0x10023ae7
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xcc], esi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x10023ada
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x10023b0f
push 0x12a1
push 0x1ef9
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call edi
push eax
call dword [sym.imp.GDI32.dll_LineTo]
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x14], eax
jne 0x10023b2d
mov eax, dword [ebp - 0x20]
inc dword [ebp - 0x20]
test eax, eax
je 0x10023b24
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x2c]
xor edx, edx
imul ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
cmp ecx, eax
setle dl
xor eax, eax
cmp edx, 0x6d8bc0d1
setge al
mov dword [ebp - 0x24], eax
mov eax, esi
cmp dword [ebp - 0x24], ebx
jne 0x10023b55
mov eax, ebx
cmp eax, 0xb780f885
sbb eax, eax
inc eax
cmp eax, 2
ja 0x10023b8d
or eax, 0xffffffff
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x14], ebx
jmp 0x10023b82
cmp dword [ebp - 0x78], ebx
jne 0x10023c63
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xfffffff3
jl 0x10023b76
jmp 0x10023c63
push dword [ebp - 0x3c]
lea eax, [ebp - 0x7c]
mov dword [ebp - 0x20], ebx
push eax
lea eax, [ebp - 0x8c]
mov dword [ebp - 0x48], ebx
push eax
xorps xmm0, xmm0
mov dword [ebp - 0x44], ebx
push ebx
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x40], ebx
movdqu xmmword [ebp - 0x8c], xmm0
call fcn.1000ea01
mov dword [ebp - 0x1c], esi
mov edi, esi
mov dword [ebp - 0x28], 0xfffffff8
mov dword [ebp - 0x14], 0xbf2f
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x48]
push 0
mov dword [eax], ecx
inc dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x14]
neg ecx
mov dword [ebp - 0xa0], ecx
add ecx, 0xfffffa0c
mov eax, dword [ebp - 0x1c]
dec dword [ebp - 0x14]
cmp eax, ecx
mov eax, dword [ebp - 0x20]
cmovl edi, ebx
xor ecx, ecx
cmp eax, 0xe0bb
mov eax, dword [ebp - 0x48]
setle cl
imul ecx, dword [eax]
mov edx, dword [eax]
mov eax, dword [ebp - 0x24]
neg ecx
sbb ecx, ecx
neg ecx
imul eax, ecx
xor ecx, ecx
cmp eax, edx
setge cl
cmp ecx, edx
pop ecx
setge cl
add ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x48]
imul ecx, edi
mov dword [eax], ecx
test ecx, ecx
jne 0x10023c39
mov esi, ebx
mov eax, dword [ebp - 0x30]
xor ecx, ecx
cmp esi, eax
setne cl
mov dword [ebp - 0x28], ecx
mov byte [ebp - 0xd], bl
cmp byte [ebp - 0xd], 0
je 0x10023c5a
push 0x1225
call dword [sym.imp.KERNEL32.dll_ExitThread]
push dword [ebp - 0x48]
call fcn.1004c0e7
pop ecx
mov eax, dword [ebp - 0x58]
mov ecx, 0x3e8
cdq
idiv ecx
mov ecx, dword [ebp - 0x3c]
mov esi, edx
mov edi, eax
call section..txtf
mov ecx, dword [ebp - 0xc]
add eax, esi
add eax, edi
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret