Function at 0x10009750
Capabilities:
Set current directory

Disassembly:
sub esp, 0x50
push ebx
push ebp
push esi
push edi
push 0x22c
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
push 0x22c
push 0
push eax
mov dword [section..data], eax
call fcn.10007e6b
mov esi, dword [section..data]
add esp, 0xc
mov eax, dword [esp + 0x64]
mov dword [esp + 0x24], esi
mov dword [esi + 0x1ec], eax
mov dword [esi + 0x10c], esi
mov dword [esi + 0x1c4], 0x31b1
mov dword [esi + 0x58], 0x3451
mov dword [esi + 0x108], esi
mov dword [esi + 0x1e8], 0x2ff7
mov dword [esi + 0x178], esi
mov dword [esi + 0x84], 0x2d9d
mov dword [esi + 0x2c], esi
mov dword [esi + 0x38], esi
mov dword [esp + 0x1c], 0x2efc
mov dword [esp + 0x10], 0x2d89
mov dword [esp + 0x34], 0x3372
mov dword [esp + 0x30], 0x3372
mov dword [esp + 0x18], 0x2ff7
mov dword [esp + 0x14], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x3c], 0x2efc
mov dword [esp + 0x38], 0x31b0
mov dword [esp + 0x64], 0x34dd
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0x34dd
mov eax, dword [esp + 0x14]
add eax, 0x2ff7
cmp dword [esp + 0x34], eax
jl 0x10009a29
mov eax, dword [esp + 0x2c]
add eax, 0xfffff8d0
cmp dword [esp + 0x64], eax
jl 0x100098c3
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x2c]
sub eax, 0x24a
mov ebx, dword [esp + 0x14]
sub ebp, 0x8c
mov edi, dword [esp + 0x18]
add ebx, 0x2efc
mov esi, dword [esp + 0x64]
sub edi, 0xfb
mov edx, dword [esp + 0x20]
add esi, 0x47
mov ecx, dword [esp + 0x64]
add edx, 0x3451
mov dword [esp + 0x34], eax
sub ecx, 0x8c
mov eax, dword [esp + 0x14]
add eax, 0x2d89
push eax
push ecx
push edx
push esi
mov esi, dword [esp + 0x34]
push esi
push edi
push ebx
push ebp
push dword [esp + 0x54]
call fcn.10005fc0
add esp, 0x24
mov dword [esp + 0x1c], eax
jmp 0x10009a29
mov eax, dword [esi + 0x14c]
imul eax, dword [esi + 0x60]
cmp dword [esp + 0x1c], eax
jb 0x10009a16
mov ecx, dword [esp + 0x10]
mov eax, dword [esi + 0x50]
add eax, ecx
cmp dword [esi + 0x1b8], eax
jae 0x1000990b
mov ecx, dword [esi + 0x1e8]
mov eax, ecx
sub eax, dword [esi + 0x94]
xor dword [esi + 0x20], eax
lea eax, [ecx + 0x310f]
and eax, dword [esi + 0x140]
add dword [esi + 0x18c], eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
mov eax, dword [esp + 0x18]
mov ecx, 0xffffcc8e
sub ecx, eax
mov eax, dword [esp + 0x14]
add eax, ecx
or dword [esp + 0x64], eax
mov eax, dword [esp + 0x64]
and eax, dword [esp + 0x64]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x3c]
xor eax, 0x2d89
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x14]
sub ecx, eax
mov eax, dword [esp + 0x10]
add eax, ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x28]
imul eax, dword [esp + 0x34]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x1c]
sub eax, dword [esi + 0x58]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x20]
mov edi, dword [esi + 0x8c]
mov ebp, dword [esi + 0x4c]
mov ebx, dword [esi + 0xc]
and ebp, eax
mov eax, dword [esp + 0x38]
and ebp, 0x310f
sub edi, dword [esi + 0x84]
sub ebx, dword [esi + 0x1e8]
imul edi, dword [esi + 0x14]
mov esi, dword [esi + 0x70]
xor esi, eax
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x3c]
sub esi, eax
xor edx, dword [ecx + 0x84]
mov eax, dword [esp + 0x1c]
sub edx, eax
mov eax, dword [esp + 0x10]
mov ecx, dword [ecx + 0xe8]
sub ecx, eax
or ecx, 0x31b0
push ecx
push edx
push esi
mov esi, dword [esp + 0x30]
push edi
push ebx
push ebp
push dword [esp + 0x7c]
push esi
push dword [esp + 0x54]
push dword [esp + 0x64]
push dword [esp + 0x6c]
push dword [esp + 0x74]
call fcn.10003e20
mov dword [esp + 0x94], eax
add esp, 0x30
mov eax, dword [esp + 0x38]
imul eax, eax, 0x31b0
add dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esi + 0x174]
and ecx, eax
add dword [esp + 0x64], ecx
jmp 0x10009a29
mov eax, dword [esp + 0x28]
mov ecx, dword [esi + 0xc]
xor ecx, eax
mov eax, dword [esp + 0x10]
xor eax, ecx
mov dword [esp + 0x28], eax
mov eax, dword [esi + 0x108]
mov ebp, dword [esp + 0x38]
mov ebx, dword [esp + 0x20]
add ebp, 0x11a
mov edi, dword [esp + 0x28]
add ebx, 0x2dad
mov eax, dword [eax + 0x1c4]
add edi, 0x31ce
push dword [esp + 0x24]
add eax, 0x1c84f
mov dword [esi + 0xa8], eax
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x1c]
add esi, 0x37b
mov ecx, dword [esp + 0x1c]
sub edx, 0x75
mov eax, dword [esp + 0x68]
add ecx, 0x2d3
sub eax, 0x213
push eax
push ecx
push edx
push esi
push edi
push ebx
push ebp
call fcn.1000db00
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x30]
add eax, 0x173
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x40]
add eax, 0x2f82
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x54]
add eax, 0x75
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x84]
add eax, 0x47
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x58]
sub eax, 0x427
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x4c]
sub eax, 0x213
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x48]
add eax, 0x31b0
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x4c]
mov ebp, dword [esp + 0x54]
sub eax, 0x16b
mov ebx, dword [esp + 0x30]
add ebp, 0x24c
mov edi, dword [esp + 0x38]
add ebx, 0x4b0
mov esi, dword [esp + 0x5c]
add edi, 0x4e6
mov edx, dword [esp + 0x38]
add esi, 0x5e1
mov ecx, dword [esp + 0x34]
add edx, 0x118
mov dword [esp + 0x68], eax
add ecx, 0x3372
mov eax, dword [esp + 0x40]
add eax, 0x3233
push eax
push ecx
push edx
push esi
push edi
push ebx
push ebp
push dword [esp + 0x84]
push dword [esp + 0x84]
push dword [esp + 0x84]
push dword [esp + 0x94]
push dword [esp + 0x9c]
push dword [esp + 0xa4]
push dword [esp + 0xac]
push dword [esp + 0x7c]
push dword [esp + 0xb8]
call fcn.10007930
mov dword [esp + 0x88], eax
add esp, 0x60
mov eax, dword [esp + 0x64]
sub eax, 0x32d
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x28]
add eax, 0x13f
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x38]
add eax, 0x3ac
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x3c]
add eax, 0xfb
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x20]
mov ebp, dword [esp + 0x1c]
add eax, 0x3524
mov ebx, dword [esp + 0x30]
sub ebp, 0x4e6
mov edi, dword [esp + 0x64]
sub ebx, 0x1a4
mov esi, dword [esp + 0x20]
sub edi, 0x5e1
mov edx, dword [esp + 0x2c]
add esi, 0x3239
mov ecx, dword [esp + 0x14]
sub edx, 0x30f
mov dword [esp + 0x5c], eax
add ecx, 0x34dd
mov eax, dword [esp + 0x18]
sub eax, 0x26e
push eax
push ecx
push edx
push esi
push edi
push ebx
push ebp
push dword [esp + 0x78]
push dword [esp + 0x78]
push dword [esp + 0x78]
push dword [esp + 0x78]
push dword [esp + 0x78]
push dword [esp + 0x78]
push dword [esp + 0x58]
call fcn.10006ef0
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x48]
add eax, 0x541
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x4c]
sub eax, 0x486
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x4c]
add eax, 6
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x54]
sub eax, 0x3ce
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x48]
add eax, 0x541
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x54]
sub eax, 0x8c
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x64]
sub eax, 0x740
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x9c]
mov ebp, dword [esp + 0x58]
sub eax, 0x16b
mov ebx, dword [esp + 0x68]
add ebp, 0x3372
mov edi, dword [esp + 0x4c]
sub ebx, 0x5c5
mov dword [esp + 0x94], eax
sub edi, 0x486
mov esi, dword [esp + 0x58]
mov edx, dword [esp + 0x54]
add esi, 0x3233
mov ecx, dword [esp + 0x4c]
sub edx, 0x30f
mov eax, dword [esp + 0x9c]
sub ecx, 0x124
sub eax, 0x4e6
push eax
push ecx
push edx
push esi
push edi
push ebx
push ebp
push dword [esp + 0xb0]
push dword [esp + 0x7c]
push dword [esp + 0xb4]
push dword [esp + 0xb4]
push dword [esp + 0xb4]
push dword [esp + 0xb4]
push dword [esp + 0xb4]
push dword [esp + 0xb4]
push dword [esp + 0xb4]
call fcn.10007c70
mov dword [esp + 0x94], eax
add esp, 0x78
mov eax, dword [esp + 0x64]
sub eax, 0x740
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x30]
add eax, 0xdf
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x20]
add eax, 0x3372
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x10]
add eax, 0x4aa
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x18]
add eax, 0x37b
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x1c]
mov ebp, dword [esp + 0x64]
sub eax, 0x218
mov ebx, dword [esp + 0x1c]
add ebp, 0x47
mov edi, dword [esp + 0x10]
sub ebx, 0x6a4
mov esi, dword [esp + 0x30]
add edi, 0x445
mov edx, dword [esp + 0x10]
sub esi, 0x5e9
mov ecx, dword [esp + 0x10]
add edx, 0x1f9
mov dword [esp + 0x5c], eax
add ecx, 0x754
mov eax, dword [esp + 0x30]
sub eax, 0x476
push eax
push ecx
push edx
push esi
push edi
push ebx
mov ebx, dword [esp + 0x3c]
push ebp
push ebx
push dword [esp + 0x7c]
push dword [esp + 0x7c]
push dword [esp + 0x7c]
push dword [esp + 0x7c]
push dword [esp + 0x7c]
push dword [esp + 0x7c]
call fcn.100049b0
add esp, 0x38
mov dword [esp + 0x30], eax
mov eax, dword [ebx + 0x168]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret