Function at 0x1043d50
Capabilities:
Get common file path

Disassembly:
push ecx
mov eax, dword [0x106507c]
push ebx
imul eax, eax, 0x13234
add eax, dword [0x1065034]
push esi
push edi
push 0
push 8
push 9
push 0
mov dword [0x106507c], eax
call dword [sym.imp.KERNEL32.dll_CreateSemaphoreA]
mov eax, dword [0x1065034]
mov ecx, dword [0x106507c]
movzx esi, word [0x1065050]
lea edx, [eax + ecx - 4]
mov dword [0x1065074], edx
movzx edx, word [0x1065052]
sub esi, edx
cmp esi, 0x1ff
jne 0x1043dbc
mov edx, dword [esp + 0xc]
lea ecx, [ecx + edx + 0x1a]
mov esi, ecx
imul esi, esi, 0x46
mov edi, eax
neg edi
sub edi, esi
add edx, edi
jmp 0x1043dd2
mov edx, ecx
imul edx, edx, 0x16
add edx, eax
mov word [0x1065048], dx
mov edx, dword [esp + 0xc]
lea ecx, [ecx + edx + 0x1a]
mov dword [0x106507c], ecx
mov esi, 0x27
lea ecx, [ecx]
movzx edi, word [0x1065054]
cmp eax, edi
je 0x1043e02
sub word [esi*2 + 0x1065044], ax
imul ecx, ecx, 0x13234
add ecx, eax
mov edx, ecx
imul edx, edx, 0x16
add edx, eax
sub esi, 1
cmp esi, 3
jg 0x1043de0
mov dword [0x10aa0bc], esi
mov dword [0x106507c], ecx
call fcn.01018580
mov eax, dword [0x106507c]
mov ecx, dword [0x1065040]
mov esi, dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
push 0x10a93d0
lea edx, [ecx + eax - 4]
push 0x66e
mov dword [0x1065074], edx
call esi
movzx ecx, word [0x1065050]
mov edx, eax
movzx eax, word [0x1065052]
sub ecx, eax
cmp ecx, 0x1ff
mov ecx, dword [0x106507c]
jne 0x1043e81
movzx eax, byte [0x1065078]
lea ecx, [ecx + eax + 0x1a]
mov bl, 0x46
mov al, cl
imul bl
mov bl, dl
neg bl
sub bl, al
add byte [0x1065078], bl
jmp 0x1043e99
mov eax, ecx
imul eax, eax, 0x16
add eax, edx
mov word [0x1065048], ax
movzx eax, byte [0x1065078]
lea ecx, [ecx + eax + 0x1a]
cmp byte [0x1065073], 0
je 0x1043eb1
mov eax, dword [0x1065074]
imul eax, ecx
add eax, edx
mov dword [0x1065074], eax
imul ecx, ecx, 0x13234
add ecx, dword [0x1065040]
mov dword [0x106507c], ecx
movzx ecx, byte [0x1065078]
push ecx
call fcn.01018420
movzx edx, byte [0x1065073]
add esp, 4
cmp edx, 0xc0e
mov ebx, eax
jne 0x1043ef7
movzx eax, byte [0x106506d]
add ebx, eax
lea ecx, [ebx + ebx - 4]
mov dword [0x1065074], ecx
cmp word [0x1065062], 0xc0e
jne 0x1043f14
movzx edx, word [str.t_]
add ebx, edx
lea eax, [ebx + ebx - 4]
mov dword [0x1065074], eax
push 0x10a9bb0
push 0x66e
call esi
mov esi, dword [0x106507c]
mov edi, dword [0x1065040]
imul esi, esi, 0x16
push edi
add esi, edi
call fcn.01018420
lea edx, [edi + esi + 0x1a]
imul edx, edx, 0x13234
add edx, edi
lea ecx, [edx + ebx + 0x16a5e]
add esp, 4
mov dword [0x106507c], edx
mov dword [0x1065040], ecx
call fcn.01018210
movzx esi, word [0x1065052]
movzx edi, word [0x1065050]
mov ecx, dword [0x106507c]
sub edi, esi
cmp edi, 0x1ff
lea edx, [ecx + ebx + 0x16a5e]
mov dword [0x1065040], edx
push eax
push es
add dword [ebp + 0x15], esi
lea ecx, [ecx + ebx + 0x1a]
mov dword [0x106507c], ecx
imul ecx, ecx, 0x46
neg eax
sub eax, ecx
add ebx, eax
jmp 0x1043fb5
mov esi, ecx
imul esi, esi, 0x16
add esi, eax
lea eax, [ecx + ebx + 0x1a]
mov word [0x1065048], si
mov dword [0x106507c], eax
lea ecx, [edx + ebx + 0x1a]
mov dword [0x1065074], ecx
call fcn.01018580
mov di, word [0x1065058]
mov esi, dword [0x106507c]
mov ecx, dword [0x1065074]
mov edx, 2
mov dword [0x1065034], eax
movzx eax, word [0x1065054]
mov dword [0x10aa0bc], edx
push ebp
nop
cmp ecx, eax
je 0x104400b
movzx ecx, word [edx*2 + 0x1065044]
imul esi, ecx
movzx ebp, di
mov ecx, 0xfffffff9
cmp ebp, ecx
je 0x1044013
add edx, 1
cmp edx, 0x25
jl 0x1043ff0
mov dword [0x10aa0bc], edx
mov edx, dword [0x1065040]
mov dword [0x1065074], ecx
sub ecx, edx
sub ecx, 7
cmp word [0x1065062], 0xc0e
mov dword [0x106507c], ecx
pop ebp
jne 0x104404f
movzx eax, word [str.t_]
add ecx, eax
mov dword [0x106507c], ecx
lea ebx, [ecx + ecx - 4]
movzx ecx, byte [0x106506b]
cmp ecx, edx
ja 0x1044071
mov eax, dword [0x1065034]
mov byte [0x106506c], bl
lea ebx, [edx + eax + 0x1a]
imul ebx, ebx, 0x13234
add ebx, edx
movzx ecx, byte [0x1065073]
cmp ecx, 0xc0e
jne 0x1044092
movzx edx, byte [0x106506d]
add ebx, edx
lea eax, [ebx + ebx - 4]
mov dword [0x1065034], eax
push ebx
call fcn.01042e80
movzx ecx, word [0x1065052]
movzx edx, word [0x1065050]
mov eax, dword [0x106507c]
sub edx, ecx
mov ecx, dword [0x1065034]
add esp, 4
cmp edx, 0x1ff
jne 0x10440d1
lea eax, [eax + ebx + 0x1a]
mov edx, eax
imul edx, edx, 0x46
mov esi, ecx
neg esi
sub esi, edx
add ebx, esi
jmp 0x10440e3
mov edx, eax
imul edx, edx, 0x16
add edx, ecx
mov word [0x1065048], dx
lea eax, [eax + ebx + 0x1a]
imul eax, eax, 0x13234
add eax, ecx
movzx ecx, byte [0x1065078]
imul eax, ebx
pop edi
add eax, ecx
pop esi
mov dword [0x106507c], eax
mov eax, 1
pop ebx
pop ecx
ret 0xc