Function at 0x403500
Capabilities:
Create directory

Disassembly:
sub esp, 0x108
mov eax, dword [0x442230]
mov ecx, dword [0x4410c8]
mov dword [esp + 0x104], eax
mov eax, 0x61f4f3e1
imul ecx
mov ecx, dword [0x4410c0]
push ebp
imul ecx, ecx, 0xa081a
push esi
mov esi, dword [0x4410b8]
imul esi, esi, 0xd454
sar edx, 0x11
mov eax, edx
shr eax, 0x1f
push edi
mov edi, dword [esp + 0x118]
add eax, edx
sub esi, eax
sub esi, ecx
push 0
push edi
mov ebp, edi
mov dword [0x4410b8], esi
call fcn.0041a1d4
add esp, 8
cmp eax, 0xffffffff
jne 0x403813
mov ecx, dword [0x4410d0]
mov esi, dword [0x4410c4]
mov eax, 0xccf850a7
imul esi, esi, 0x3bf27
imul ecx
mov ecx, dword [str._r_____r____]
sar edx, 0x11
imul ecx, ecx, 0x181cd
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, esi
add eax, ecx
mov dword [0x4410bc], eax
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4035a8
sub eax, edx
mov dword [esp + 0xc], eax
je 0x403846
push 0x5c
push edi
call fcn.004198c0
add esp, 8
test eax, eax
je 0x403846
push 0x3a
push edi
call fcn.004198c0
add esp, 8
test eax, eax
je 0x403846
mov ecx, dword [0x4410bc]
mov esi, dword [0x4410b8]
mov eax, 0x61f4f3e1
imul ecx
sar edx, 0x11
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0xc], eax
mov eax, 0x1984ece9
imul esi
mov eax, dword [esp + 0xc]
sar edx, 0x10
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub ecx, eax
mov eax, 0xa0c15
cdq
idiv esi
add ecx, eax
test edi, edi
mov dword [str._r_____r____], ecx
je 0x4037da
push 0x5c
inc ebp
push ebp
call fcn.004198c0
mov esi, dword [0x4410d0]
mov ebp, eax
mov eax, dword [0x4410b4]
imul eax, eax, 0x53a0f
mov dword [esp + 0x14], eax
mov eax, 0x3307af59
imul esi
mov eax, dword [esp + 0x14]
sar edx, 0x11
add eax, edx
mov ecx, edx
mov edx, dword [0x4410b8]
imul edx, edx, 0xff4b
shr ecx, 0x1f
add ecx, eax
sub ecx, edx
add esp, 8
test ebp, ebp
mov dword [0x4410b4], ecx
jne 0x40369c
lea edx, [esp + 0x10]
mov eax, edi
sub edx, edi
jmp 0x403690
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x403690
jmp 0x403707
mov eax, 0x88a76c3f
imul ecx
add edx, ecx
mov ecx, dword [0x4410cc]
sar edx, 0x11
mov esi, edx
shr esi, 0x1f
add esi, edx
mov eax, 0x197ad0b7
imul ecx
mov ecx, dword [str._r_____r____]
sar edx, 0x10
add esi, edx
mov eax, edx
shr eax, 0x1f
add eax, esi
mov esi, eax
mov eax, 0x3307af59
imul ecx
sar edx, 0x11
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov dword [0x4410c0], esi
mov esi, ebp
sub esi, edi
push esi
lea ecx, [esp + 0x14]
push edi
push ecx
call fcn.0041a0b0
mov byte [esp + esi + 0x1c], 0
mov esi, dword [0x4410d0]
add esp, 0xc
mov ecx, dword [0x4410bc]
mov eax, 0x61f4f3e1
imul esi
sar edx, 0x11
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0xc], eax
mov eax, 0x3307af59
imul ecx
mov eax, dword [esp + 0xc]
sar edx, 0x11
add eax, edx
mov ecx, edx
shr ecx, 0x1f
add ecx, eax
mov eax, 0x1984ece9
imul esi
sar edx, 0x10
mov eax, edx
add ecx, edx
shr eax, 0x1f
add eax, ecx
lea ecx, [esp + 0x10]
push 0
push ecx
mov dword [0x4410c4], eax
call fcn.0041a1d4
add esp, 8
cmp eax, 0xffffffff
jne 0x4037cc
mov ecx, dword [0x4410b4]
mov eax, 0x88a76c3f
imul ecx
add edx, ecx
mov ecx, dword [0x4410c0]
sar edx, 0x11
mov eax, edx
shr eax, 0x1f
add eax, edx
mov esi, eax
mov eax, 0x61f4f3e1
imul ecx
sar edx, 0x11
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, ecx
mov ecx, dword [0x4410d4]
sub eax, esi
mov esi, eax
mov eax, 0x402d6015
imul ecx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add esi, edx
push 0
lea ecx, [esp + 0x14]
add eax, esi
push ecx
mov dword [0x4410c8], eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
je 0x40382b
test ebp, ebp
jne 0x403631
mov ecx, dword [str._r_____r____]
mov eax, 0x197ad0b7
imul ecx
mov ecx, dword [0x4410cc]
sar edx, 0x10
mov esi, edx
shr esi, 0x1f
add esi, edx
mov edx, ecx
imul edx, edx, 0xa0887
add esi, edx
mov eax, 0x40499437
imul ecx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add esi, edx
add eax, esi
mov dword [0x4410cc], eax
pop edi
pop esi
xor eax, eax
pop ebp
mov ecx, dword [esp + 0x104]
call fcn.00419f5d
add esp, 0x108
ret
pop edi
pop esi
mov eax, 0xfffffffe
pop ebp
mov ecx, dword [esp + 0x104]
call fcn.00419f5d
add esp, 0x108
ret
mov ecx, dword [esp + 0x110]
pop edi
pop esi
or eax, 0xffffffff
pop ebp
call fcn.00419f5d
add esp, 0x108
ret