Function at 0x4078b0
Capabilities:
Create directory
Set current directory

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x390
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x40], 0
lea edi, [ebp - 0x145]
mov dword [esp], edi
mov dword [esp + 8], 0x105
mov dword [esp + 4], 0
call fcn.00417480
lea eax, [ebp - 0x24a]
mov dword [esp], eax
mov dword [esp + 8], 0x105
mov dword [esp + 4], 0
call fcn.00417480
lea eax, [ebp - 0x34f]
mov dword [esp], eax
mov dword [esp + 8], 0x105
mov dword [esp + 4], 0
call fcn.00417480
mov dword [ebp - 0x354], 0
mov dword [ebp - 0x358], 0
mov dword [ebp - 0x35c], 0
mov dword [ebp - 0x360], 0
mov dword [ebp - 0x364], 0
mov word [ebp - 0x368], 0
mov dword [ebp - 0x36c], 0
mov dword [ebp - 0x370], 0
mov dword [ebp - 0x374], 1
mov dword [ebp - 0x378], 1
call fcn.00403ed0
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x37c], 0x73b210e5
lea esi, [ebp - 0x364]
lea ebx, [ebp - 0x370]
jmp 0x4079d0
mov dword [ebp - 0x37c], 0xf075e8c
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x37c]
cmp eax, 0x8f3208e1
jg 0x4079f0
cmp eax, 0x8135fca8
jne 0x4079d0
jmp 0x4079be
cmp eax, 0x9ec9e003
jg 0x407a10
cmp eax, 0x8f3208e2
jne 0x4079d0
mov dword [ebp - 0x37c], 0xd049253f
jmp 0x4079d0
cmp eax, 0xa102af4c
jg 0x407a39
cmp eax, 0x9ec9e004
jne 0x4079d0
mov ecx, dword [ebp - 0x1c]
mov eax, 0xd2bff4a
cmp dword [ecx + 4], 0
je 0x407a31
mov eax, 0x6e4edc1e
mov dword [ebp - 0x37c], eax
jmp 0x4079d0
cmp eax, 0xa45bb9db
jg 0x407a56
cmp eax, 0xa102af4d
jne 0x4079d0
mov dword [ebp - 0x37c], 0xb3a4f710
jmp 0x4079d0
cmp eax, 0xa7d61cc5
jg 0x407a77
cmp eax, 0xa45bb9dc
jne 0x4079d0
mov dword [ebp - 0x37c], 0xe0bcbab6
jmp 0x4079d0
cmp eax, 0xa82d7975
jg 0x407a9f
cmp eax, 0xa7d61cc6
jne 0x4079d0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x37c], 0xcf3ae637
jmp 0x4079d0
cmp eax, 0xa99fbfa8
jg 0x407ace
cmp eax, 0xa82d7976
jne 0x4079d0
mov eax, dword [0x4c8d44]
mov dword [esp], eax
call dword [0x4c8d40]
mov dword [ebp - 0x37c], 0xe0bcbab6
jmp 0x4079d0
cmp eax, 0xb3a4f70f
jg 0x407af7
cmp eax, 0xa99fbfa9
jne 0x4079d0
cmp dword [ebp - 0x28], 0
setne byte [ebp - 0xd]
mov dword [ebp - 0x37c], 0x47ef691b
jmp 0x4079d0
cmp eax, 0xc2345c29
jg 0x407b18
cmp eax, 0xb3a4f710
jne 0x4079d0
mov dword [ebp - 0x37c], 0xd4c46602
jmp 0x4079d0
cmp eax, 0xc4c3c38f
jg 0x407b39
cmp eax, 0xc2345c2a
jne 0x4079d0
mov dword [ebp - 0x37c], 0xd2efd622
jmp 0x4079d0
cmp eax, 0xc7857048
jg 0x407b65
cmp eax, 0xc4c3c390
jne 0x4079d0
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call fcn.0041798b
mov dword [ebp - 0x37c], 0xe0c9261b
jmp 0x4079d0
cmp eax, 0xcf3ae636
jg 0x407b93
cmp eax, 0xc7857049
jne 0x4079d0
mov al, byte [ebp - 0xe]
test al, al
mov eax, 0x12e62151
jne 0x407b88
mov eax, 0xa7d61cc6
mov dword [ebp - 0x37c], eax
jmp 0x4079d0
cmp eax, 0xd049253e
jg 0x407baa
cmp eax, 0xcf3ae637
jne 0x4079d0
jmp 0x4082e2
cmp eax, 0xd2efd621
jg 0x407bcb
cmp eax, 0xd049253f
jne 0x4079d0
mov dword [ebp - 0x37c], 0xf075e8c
jmp 0x4079d0
cmp eax, 0xd4c46601
jg 0x407bec
cmp eax, 0xd2efd622
jne 0x4079d0
mov dword [ebp - 0x37c], 0xf075e8c
jmp 0x4079d0
cmp eax, 0xdf8ad8f5
jg 0x407c0d
cmp eax, 0xd4c46602
jne 0x4079d0
mov dword [ebp - 0x37c], 0xf075e8c
jmp 0x4079d0
cmp eax, 0xe0bcbab5
jg 0x407c2e
cmp eax, 0xdf8ad8f6
jne 0x4079d0
mov dword [ebp - 0x37c], 0xa7d61cc6
jmp 0x4079d0
cmp eax, 0xe0c9261a
jg 0x407c65
cmp eax, 0xe0bcbab6
jne 0x4079d0
mov eax, dword [0x4c8d44]
mov dword [esp], eax
call dword [0x4c8d40]
cmp dword [ebp - 0x28], 0
setne byte [ebp - 0xe]
mov dword [ebp - 0x37c], 0xc7857049
jmp 0x4079d0
cmp eax, 0xe56de157
jg 0x407c91
cmp eax, 0xe0c9261b
jne 0x4079d0
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call fcn.0041798b
mov dword [ebp - 0x37c], 0xdf8ad8f6
jmp 0x4079d0
cmp eax, 0xe84ba52f
jg 0x407cd6
cmp eax, 0xe56de158
jne 0x4079d0
lea eax, [ebp - 0x34f]
mov dword [esp], eax
mov dword [esp + 4], 0
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
sub esp, 8
test eax, eax
mov eax, 0x56533c81
je 0x407ccb
mov eax, 0x58dd0d4c
mov dword [ebp - 0x37c], eax
jmp 0x4079d0
cmp eax, 0xf9c1443f
jg 0x407cf7
cmp eax, 0xe84ba530
jne 0x4079d0
mov dword [ebp - 0x37c], 0xf075e8c
jmp 0x4079d0
cmp eax, 0x29fa41e
jg 0x407d18
cmp eax, 0xf9c14440
jne 0x4079d0
mov dword [ebp - 0x37c], 0x8f3208e2
jmp 0x4079d0
cmp eax, 0xa04aaee
jg 0x407d39
cmp eax, 0x29fa41f
jne 0x4079d0
mov dword [ebp - 0x37c], 0xf075e8c
jmp 0x4079d0
cmp eax, 0xd2bff49
jg 0x407ebe
cmp eax, 0xa04aaef
jne 0x4079d0
mov eax, dword [0x4b50e8]
movzx eax, byte [eax]
mov dword [ebp - 0x2c], eax
not eax
mov ecx, dword [0x4b50e8]
neg eax
movzx eax, byte [ecx + eax]
mov dword [ebp - 0x384], eax
mov dword [ebp - 0x30], eax
mov ecx, dword [0x4b50e8]
mov edx, dword [ebp - 0x2c]
lea eax, [ecx + edx + 2]
mov dword [ebp - 0x380], eax
inc ecx
mov eax, dword [ebp - 0x384]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x380]
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], esi
call fcn.004027e0
lea eax, [ebp - 0x24a]
mov esi, eax
mov dword [esp], esi
mov dword [esp + 4], 0x105
call fcn.004040c0
mov dword [esp + 4], edi
mov dword [esp], esi
mov dword [esp + 8], 0x105
call fcn.004055c0
mov dword [esp], edi
call fcn.00404a30
mov dword [ebp - 0x3c], eax
mov eax, dword [0x4b50ec]
movzx eax, byte [eax]
mov dword [ebp - 0x34], eax
not eax
mov ecx, dword [0x4b50ec]
neg eax
movzx eax, byte [ecx + eax]
mov dword [ebp - 0x38], eax
mov ecx, dword [0x4b50ec]
mov edx, dword [ebp - 0x34]
lea esi, [ecx + edx + 2]
inc ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], esi
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], ebx
call fcn.004027e0
mov eax, dword [ebp - 0x3c]
mov dword [esp + 0xc], eax
mov dword [esp + 8], edi
lea eax, [ebp - 0x34f]
mov dword [esp], eax
mov dword [esp + 4], 0x105
call fcn.00404330
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x3c]
mov edx, 0x105
sub edx, ecx
lea ecx, [ebp + ecx - 0x34f]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x364]
mov dword [esp + 8], eax
mov esi, eax
mov dword [esp + 4], edx
mov dword [esp], ecx
call fcn.00404330
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x380], eax
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
sub esp, 4
mov ecx, dword [ebp - 0x380]
mov dword [esp + 8], ecx
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.00403490
mov dword [ebp - 0x24], eax
mov ecx, 0x366434c3
test eax, eax
je 0x407eb3
mov ecx, 0xe56de158
mov dword [ebp - 0x37c], ecx
jmp 0x4079d0
cmp eax, 0xf075e8b
jg 0x407edf
cmp eax, 0xd2bff4a
jne 0x4079d0
mov dword [ebp - 0x37c], 0xc2345c2a
jmp 0x4079d0
cmp eax, 0x11871d4d
jg 0x407f00
cmp eax, 0xf075e8c
jne 0x4079d0
mov dword [ebp - 0x37c], 0xa99fbfa9
jmp 0x4079d0
cmp eax, 0x12e62150
jg 0x407f4a
cmp eax, 0x11871d4e
jne 0x4079d0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
add ecx, dword [eax + 0x10]
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov dword [esp + 8], ecx
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.0040a1f0
mov dword [0x4c8d40], eax
mov dword [ebp - 0x37c], 0x20ba6d2b
jmp 0x4079d0
cmp eax, 0x16dbe866
jg 0x407f6b
cmp eax, 0x12e62151
jne 0x4079d0
mov dword [ebp - 0x37c], 0xe0c9261b
jmp 0x4079d0
cmp eax, 0x1ceec042
jg 0x407fa4
cmp eax, 0x16dbe867
jne 0x4079d0
mov dword [ebp - 0x378], 0
mov ecx, dword [ebp - 0x1c]
mov eax, 0xd2bff4a
cmp dword [ecx], 0
je 0x407f99
mov eax, 0x9ec9e004
mov dword [ebp - 0x37c], eax
jmp 0x4079d0
cmp eax, 0x1e55eeeb
jg 0x407fc5
cmp eax, 0x1ceec043
jne 0x4079d0
mov dword [ebp - 0x37c], 0xc2345c2a
jmp 0x4079d0
cmp eax, 0x20ba6d2a
jg 0x407fe6
cmp eax, 0x1e55eeec
jne 0x4079d0
mov dword [ebp - 0x37c], 0xa99fbfa9
jmp 0x4079d0
cmp eax, 0x2b06b387
jg 0x408036
cmp eax, 0x20ba6d2b
jne 0x4079d0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
add ecx, dword [eax + 0x10]
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov dword [esp + 8], ecx
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.0040a1f0
mov dword [0x4c8d40], eax
test eax, eax
sete byte [ebp - 0xf]
mov dword [ebp - 0x37c], 0x4d8ae8e1
jmp 0x4079d0
cmp eax, 0x366434c2
jg 0x408062
cmp eax, 0x2b06b388
jne 0x4079d0
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call fcn.0041798b
mov dword [ebp - 0x37c], 0x575ff105
jmp 0x4079d0
cmp eax, 0x3c18458b
jg 0x408083
cmp eax, 0x366434c3
jne 0x4079d0
mov dword [ebp - 0x37c], 0xf075e8c
jmp 0x4079d0
cmp eax, 0x41e3a08f
jg 0x4080af
cmp eax, 0x3c18458c
jne 0x4079d0
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call fcn.0041798b
mov dword [ebp - 0x37c], 0x2b06b388
jmp 0x4079d0
cmp eax, 0x47ef691a
jg 0x4080ec
cmp eax, 0x41e3a090
jne 0x4079d0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x28]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.004071a0
test eax, eax
mov eax, 0x4810b83f
js 0x4080e1
mov eax, 0x16dbe867
mov dword [ebp - 0x37c], eax
jmp 0x4079d0
cmp eax, 0x4810b83e
jg 0x40811a
cmp eax, 0x47ef691b
jne 0x4079d0
mov al, byte [ebp - 0xd]
test al, al
mov eax, 0x4c02e1d2
jne 0x40810f
mov eax, 0x773f8f80
mov dword [ebp - 0x37c], eax
jmp 0x4079d0
cmp eax, 0x4c02e1d1
jg 0x40813b
cmp eax, 0x4810b83f
jne 0x4079d0
mov dword [ebp - 0x37c], 0xf075e8c
jmp 0x4079d0
cmp eax, 0x4d8ae8e0
jg 0x40815c
cmp eax, 0x4c02e1d2
jne 0x4079d0
mov dword [ebp - 0x37c], 0x2b06b388
jmp 0x4079d0
cmp eax, 0x56533c80
jg 0x40818a
cmp eax, 0x4d8ae8e1
jne 0x4079d0
mov al, byte [ebp - 0xf]
test al, al
mov eax, 0xa102af4d
jne 0x40817f
mov eax, 0xa45bb9dc
mov dword [ebp - 0x37c], eax
jmp 0x4079d0
cmp eax, 0x575ff104
jg 0x4081ab
cmp eax, 0x56533c81
jne 0x4079d0
mov dword [ebp - 0x37c], 0x8f3208e2
jmp 0x4079d0
cmp eax, 0x58dd0d4b
jg 0x4081cc
cmp eax, 0x575ff105
jne 0x4079d0
mov dword [ebp - 0x37c], 0x773f8f80
jmp 0x4079d0
cmp eax, 0x5d7698ae
jg 0x408222
cmp eax, 0x58dd0d4c
jne 0x4079d0
mov eax, dword [ebp - 0x24]
xor ecx, ecx
sub ecx, dword [eax + 0x10]
sub ecx, dword [eax + 0x14]
neg ecx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x374], 0
call fcn.0040e4c0
mov dword [esp], edi
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
sub esp, 4
test eax, eax
mov eax, 0x29fa41f
je 0x408217
mov eax, 0x5d7698af
mov dword [ebp - 0x37c], eax
jmp 0x4079d0
cmp eax, 0x6e4edc1d
jg 0x408268
cmp eax, 0x5d7698af
jne 0x4079d0
mov eax, dword [ebp - 0x40]
dec eax
mov ecx, dword [ebp - 0x28]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 0
call fcn.00416dc7
test eax, eax
mov eax, 0xe84ba530
jne 0x40825d
mov eax, 0x41e3a090
mov dword [ebp - 0x37c], eax
jmp 0x4079d0
cmp eax, 0x73b210e4
jg 0x408289
cmp eax, 0x6e4edc1e
jne 0x4079d0
mov dword [ebp - 0x37c], 0x20ba6d2b
jmp 0x4079d0
cmp eax, 0x7748010c
je 0x4082ad
cmp eax, 0x773f8f80
jne 0x4082bc
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x37c], 0xcf3ae637
jmp 0x4079d0
mov dword [ebp - 0x37c], 0xb3a4f710
jmp 0x4079d0
cmp eax, 0x73b210e5
jne 0x4079d0
mov eax, 0x8135fca8
cmp dword [ebp - 0x14], 0
je 0x4082d7
mov eax, 0xa04aaef
mov dword [ebp - 0x37c], eax
jmp 0x4079d0
mov eax, dword [ebp - 0x18]
add esp, 0x390
pop esi
pop edi
pop ebx
pop ebp
ret