Function at 0x407400
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 eax, [ebp - 0x145]
mov dword [esp], eax
mov dword [esp + 8], 0x105
mov dword [esp + 4], 0
call fcn.004163f0
lea eax, [ebp - 0x24a]
mov dword [esp], eax
mov dword [esp + 8], 0x105
mov dword [esp + 4], 0
call fcn.004163f0
lea edi, [ebp - 0x34f]
mov dword [esp], edi
mov dword [esp + 8], 0x105
mov dword [esp + 4], 0
call fcn.004163f0
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.00404020
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x37c], 0x98d3042e
lea esi, [ebp - 0x364]
jmp 0x407520
mov dword [ebp - 0x37c], 0xf4d8d2de
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x37c]
cmp eax, 0x934bdd31
jg 0x407540
cmp eax, 0x82fb1e11
jne 0x407520
jmp 0x407508
cmp eax, 0x7ace5c09
jg 0x407580
cmp eax, 0x74460142
jg 0x407593
cmp eax, 0x98d3042d
jg 0x4075a9
cmp eax, 0x934bdd32
jne 0x407520
mov al, byte [ebp - 0xe]
test al, al
mov eax, 0xe70797e5
jne 0x40756d
mov eax, 0x7ace5c0a
mov dword [ebp - 0x37c], eax
jmp 0x407520
cmp eax, 0x7ace5c0a
jne 0x407520
mov dword [ebp - 0x37c], 0x9a556289
jmp 0x407520
cmp eax, 0x74460143
jne 0x407520
mov dword [ebp - 0x37c], 0xa231e9cd
jmp 0x407520
cmp eax, 0x5bdfabce
jg 0x4075eb
cmp eax, 0x599da0df
jg 0x40760d
cmp eax, 0x502b816f
jg 0x407627
cmp eax, 0x9a556288
jg 0x407641
cmp eax, 0x98d3042e
jne 0x407520
mov eax, 0xfc336d49
cmp dword [ebp - 0x14], 0
je 0x4075e0
mov eax, 0xaa38ad03
mov dword [ebp - 0x37c], eax
jmp 0x407520
cmp eax, 0x5bdfabcf
jne 0x407520
cmp dword [ebp - 0x28], 0
setne byte [ebp - 0xd]
mov dword [ebp - 0x37c], 0x19368850
jmp 0x407520
cmp eax, 0x599da0e0
jne 0x407520
mov dword [ebp - 0x37c], 0xa231e9cd
jmp 0x407520
cmp eax, 0x502b8170
jne 0x407520
mov dword [ebp - 0x37c], 0x3390f4cc
jmp 0x407520
cmp eax, 0x9d7dd6b2
jg 0x407669
cmp eax, 0x9a556289
jne 0x407520
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x37c], 0x599da0e0
jmp 0x407520
cmp eax, 0xa231e9cc
jg 0x4076a0
cmp eax, 0x9d7dd6b3
jne 0x407520
mov eax, dword [0x4c7d44]
mov dword [esp], eax
call dword [0x4c7d40]
cmp dword [ebp - 0x28], 0
setne byte [ebp - 0xe]
mov dword [ebp - 0x37c], 0x934bdd32
jmp 0x407520
cmp eax, 0xa4525e3b
jg 0x4076b7
cmp eax, 0xa231e9cd
jne 0x407520
jmp 0x407dab
cmp eax, 0xa6fab2e0
jg 0x4076d8
cmp eax, 0xa4525e3c
jne 0x407520
mov dword [ebp - 0x37c], 0xf4d8d2de
jmp 0x407520
cmp eax, 0xaa38ad02
jg 0x4076f9
cmp eax, 0xa6fab2e1
jne 0x407520
mov dword [ebp - 0x37c], 0xfb26bf96
jmp 0x407520
cmp eax, 0xb56ca21b
jg 0x40786b
cmp eax, 0xaa38ad03
jne 0x407520
mov eax, dword [0x4b40e8]
movzx eax, byte [eax]
mov dword [ebp - 0x2c], eax
not eax
mov ecx, dword [0x4b40e8]
neg eax
movzx eax, byte [ecx + eax]
mov dword [ebp - 0x30], eax
mov ecx, dword [0x4b40e8]
mov edx, dword [ebp - 0x2c]
lea ebx, [ecx + edx + 2]
inc ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], esi
call fcn.004026c0
lea eax, [ebp - 0x24a]
mov esi, eax
mov dword [esp], esi
mov dword [esp + 4], 0x105
call fcn.004041f0
lea edi, [ebp - 0x145]
mov dword [esp + 4], edi
mov dword [esp], esi
mov dword [esp + 8], 0x105
call fcn.004053e0
mov dword [esp], edi
call fcn.00404970
mov dword [ebp - 0x3c], eax
mov eax, dword [0x4b40ec]
movzx eax, byte [eax]
mov dword [ebp - 0x34], eax
mov ecx, dword [0x4b40ec]
movzx eax, byte [eax + ecx + 1]
mov dword [ebp - 0x38], eax
mov ecx, dword [0x4b40ec]
mov edx, dword [ebp - 0x34]
lea ebx, [ecx + edx + 2]
inc ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
lea ebx, [ebp - 0x370]
mov dword [esp], ebx
call fcn.004026c0
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.00404500
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.00404500
mov edi, dword [ebp - 0x34]
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
sub esp, 4
mov dword [esp + 8], edi
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.00403660
mov dword [ebp - 0x24], eax
mov ecx, 0x82fb1e11
test eax, eax
je 0x407858
mov ecx, 0x35d5f6f8
mov dword [ebp - 0x37c], ecx
lea ebx, [ebp - 0x34f]
mov edi, ebx
jmp 0x407520
cmp eax, 0x46ccd1fb
jg 0x4079a7
cmp eax, 0x45f6e92c
jg 0x4079c1
cmp eax, 0x3ecd28ca
jg 0x4079db
cmp eax, 0x381dcc75
jg 0x407a0d
cmp eax, 0x35d5f6f7
jg 0x407a27
cmp eax, 0x3390f4cb
jg 0x407a5f
cmp eax, 0x3194f4da
jg 0x407a79
cmp eax, 0x1adf432f
jg 0x407a93
cmp eax, 0x1936884f
jg 0x407abb
cmp eax, 0x16c72806
jg 0x407ae2
cmp eax, 0x11ec393e
jg 0x407b2c
cmp eax, 0x9e635b1
jg 0x407b46
mov ebx, edi
cmp eax, 0x280a008
jg 0x407b73
cmp eax, 0xffb00e3f
jg 0x407bc6
cmp eax, 0xfc336d48
jg 0x407be2
cmp eax, 0xfb26bf95
jg 0x407bfe
cmp eax, 0xf87e0688
jg 0x407c21
cmp eax, 0xf566dac0
jg 0x407c3d
cmp eax, 0xf4d8d2dd
jg 0x407c59
cmp eax, 0xf46e6de7
jg 0x407c75
cmp eax, 0xe70797e4
jg 0x407c98
cmp eax, 0xe2c341a5
jg 0x407cbf
cmp eax, 0xd570fde6
jg 0x407cdb
cmp eax, 0xd1800059
jg 0x407cfe
cmp eax, 0xc6ed56c9
jg 0x407d3f
cmp eax, 0xb56ca21c
je 0x407d66
cmp eax, 0xb5983e58
jne 0x407d8f
mov dword [ebp - 0x37c], 0xf4d8d2de
mov edi, ebx
jmp 0x407520
cmp eax, 0x46ccd1fc
jne 0x407520
mov dword [ebp - 0x37c], 0xf4d8d2de
jmp 0x407520
cmp eax, 0x45f6e92d
jne 0x407520
mov dword [ebp - 0x37c], 0xf4d8d2de
jmp 0x407520
cmp eax, 0x3ecd28cb
jne 0x407520
mov dword [ebp - 0x378], 0
mov ecx, dword [ebp - 0x1c]
mov eax, 0xb5983e58
cmp dword [ecx], 0
je 0x407a02
mov eax, 0x9e635b2
mov dword [ebp - 0x37c], eax
jmp 0x407520
cmp eax, 0x381dcc76
jne 0x407520
mov dword [ebp - 0x37c], 0x3390f4cc
jmp 0x407520
cmp eax, 0x35d5f6f8
jne 0x407520
mov dword [esp], edi
mov dword [esp + 4], 0
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
sub esp, 8
test eax, eax
mov eax, 0x45f6e92d
je 0x407a54
mov eax, 0x16c72807
mov dword [ebp - 0x37c], eax
jmp 0x407520
cmp eax, 0x3390f4cc
jne 0x407520
mov dword [ebp - 0x37c], 0x11ec393f
jmp 0x407520
cmp eax, 0x3194f4db
jne 0x407520
mov dword [ebp - 0x37c], 0xe2c341a6
jmp 0x407520
cmp eax, 0x1adf4330
jne 0x407520
mov eax, dword [0x4c7d44]
mov dword [esp], eax
call dword [0x4c7d40]
mov dword [ebp - 0x37c], 0x9d7dd6b3
jmp 0x407520
cmp eax, 0x19368850
jne 0x407520
mov ebx, edi
mov al, byte [ebp - 0xd]
test al, al
mov eax, 0xc6ed56ca
jne 0x407b66
mov eax, 0xa6fab2e1
jmp 0x407b66
cmp eax, 0x16c72807
jne 0x407520
mov ebx, edi
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x14]
add ecx, dword [eax + 0x10]
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x374], 0
call fcn.0040d6d0
lea eax, [ebp - 0x145]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
sub esp, 4
test eax, eax
mov eax, 0x381dcc76
je 0x407b66
mov eax, 0xd180005a
jmp 0x407b66
cmp eax, 0x11ec393f
jne 0x407520
mov dword [ebp - 0x37c], 0xf4d8d2de
jmp 0x407520
cmp eax, 0x9e635b2
jne 0x407520
mov ebx, edi
mov ecx, dword [ebp - 0x1c]
mov eax, 0xb5983e58
cmp dword [ecx + 4], 0
je 0x407b66
mov eax, 0x280a009
mov dword [ebp - 0x37c], eax
mov edi, ebx
jmp 0x407520
cmp eax, 0x280a009
mov edi, ebx
jne 0x407520
mov ebx, edi
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.0040b5b0
mov dword [0x4c7d40], eax
mov ecx, 0xf87e0689
test eax, eax
je 0x407bb9
mov ecx, 0xf566dac1
mov dword [ebp - 0x37c], ecx
mov edi, ebx
jmp 0x407520
cmp eax, 0xffb00e40
mov edi, ebx
jne 0x407520
mov dword [ebp - 0x37c], 0x5bdfabcf
jmp 0x407520
cmp eax, 0xfc336d49
mov edi, ebx
jne 0x407520
mov dword [ebp - 0x37c], 0xf4d8d2de
jmp 0x407520
cmp eax, 0xfb26bf96
mov edi, ebx
jne 0x407520
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x37c], 0x74460143
jmp 0x407520
cmp eax, 0xf87e0689
mov edi, ebx
jne 0x407520
mov dword [ebp - 0x37c], 0xf4d8d2de
jmp 0x407520
cmp eax, 0xf566dac1
mov edi, ebx
jne 0x407520
mov dword [ebp - 0x37c], 0x9d7dd6b3
jmp 0x407520
cmp eax, 0xf4d8d2de
mov edi, ebx
jne 0x407520
mov dword [ebp - 0x37c], 0x5bdfabcf
jmp 0x407520
cmp eax, 0xf46e6de8
mov edi, ebx
jne 0x407520
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x37c], 0xfb26bf96
jmp 0x407520
cmp eax, 0xe70797e5
mov edi, ebx
jne 0x407520
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call fcn.00416726
mov dword [ebp - 0x37c], 0x7ace5c0a
jmp 0x407520
cmp eax, 0xe2c341a6
mov edi, ebx
jne 0x407520
mov dword [ebp - 0x37c], 0x46ccd1fc
jmp 0x407520
cmp eax, 0xd570fde7
mov edi, ebx
jne 0x407520
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x37c], 0x9a556289
jmp 0x407520
cmp eax, 0xd180005a
mov edi, ebx
jne 0x407520
mov ebx, edi
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.00415d37
test eax, eax
mov eax, 0x3194f4db
jne 0x407b66
mov eax, 0xb56ca21c
jmp 0x407b66
cmp eax, 0xc6ed56ca
mov edi, ebx
jne 0x407520
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call fcn.00416726
mov dword [ebp - 0x37c], 0xa6fab2e1
jmp 0x407520
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x28]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00406e60
test eax, eax
mov eax, 0xa4525e3c
js 0x407b66
mov eax, 0x3ecd28cb
jmp 0x407b66
cmp eax, 0xb7835303
mov edi, ebx
jne 0x407520
mov dword [ebp - 0x37c], 0xe2c341a6
jmp 0x407520
mov eax, dword [ebp - 0x18]
add esp, 0x390
pop esi
pop edi
pop ebx
pop ebp
ret