Function at 0x40c570
Capabilities:
Create directory
Delete directory

Disassembly:
mov eax, 0x928
call fcn.00696350
mov eax, dword [0x6ff9a0]
test eax, eax
push ebx
mov ebx, ecx
push esi
mov esi, edx
mov dword [esp + 8], ebx
je 0x40c5ce
push eax
call fcn.00696666
add esp, 4
test eax, eax
je 0x40c5ce
mov ecx, dword [0x7bc000]
push 0x6b8f80
call fcn.004fedb4
mov ecx, dword [0x6ffbec]
mov dword [esp + 0xc], eax
lea eax, [esp + 0xc]
push eax
call fcn.004ede5c
mov ecx, dword [0x6ff9a0]
push 2
push ecx
mov ecx, eax
call fcn.00502a4c
mov ecx, dword [0x7bc000]
push 0x6b8f80
call fcn.004fedb4
mov ecx, dword [0x6ffbec]
lea edx, [esp + 0xc]
push edx
mov dword [esp + 0x10], eax
call fcn.004ede5c
mov ecx, dword [eax + 0x29]
call fcn.0051a328
test eax, eax
mov dword [0x6fda40], eax
jg 0x40c60d
mov dword [0x6fda40], 0x32
test esi, esi
je 0x40c615
test ebx, ebx
jne 0x40c658
call fcn.0040b6e0
test eax, eax
je 0x40c9fd
mov eax, dword [0x6fdb40]
mov eax, dword [eax + 0x17]
test eax, eax
mov dword [esp + 8], eax
jne 0x40c654
mov ecx, dword [0x6ffbb4]
push str.Failed_to_Get_Current_Company__Please_try_again.
push eax
push 1
push ecx
call fcn.005221cc
add esp, 0x10
pop esi
pop ebx
add esp, 0x928
ret 4
mov ebx, dword [esp + 8]
test byte [ebx + 0xec], 0x40
je 0x40c68a
call fcn.0040a770
lea ecx, [esp + 0x10]
call fcn.004f52d0
push 0
push 0
push str.Continue_Migration__
push 4
lea ecx, [esp + 0x20]
call fcn.004f4f40
cmp eax, 0x8000b
jne 0x40c693
call fcn.0040b850
test eax, eax
jne 0x40c6a3
call fcn.0040acf0
pop esi
pop ebx
add esp, 0x928
ret 4
push ebp
mov ecx, 0x80
call fcn.004dbd48
mov edx, dword [ebx + 0x39]
push edx
mov ebp, eax
push str._05d
push ebp
call fcn.006964d6
mov ecx, dword [ebx + 0x35]
add esp, 0xc
lea edx, [esp + 0x30]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x40c6d0
lea eax, [esp + 0x30]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40c6e1
sub eax, edx
mov byte [esp + eax + 0x2c], cl
mov eax, ebp
mov ecx, ebp
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x40c6f2
push edi
lea edi, [esp + 0x34]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x40c703
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, ebp
call fcn.004db418
push 0
lea eax, [esp + 0x38]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
je 0x40c7f1
lea ecx, [esp + 0x34]
push ecx
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
mov edi, dword [0x6ff834]
lea edx, [esp + 0x138]
push edx
mov ecx, edi
call fcn.0052aff8
mov eax, dword [0x6ffbb4]
push 0x6b93e6
push eax
call fcn.0052226c
mov ecx, dword [0x6ffbb4]
push 0x6b93ac
push ecx
call fcn.0052226c
mov eax, dword [0x6ffbb4]
lea edx, [esp + 0x148]
push edx
push str.Migration_start_at__s
push 0
push 2
push eax
call fcn.005221cc
add esp, 0x24
mov ecx, 0x80
mov dword [0x6ffbac], 1
call fcn.004dbd48
mov ecx, 0x6c4cec
mov dword [0x6fda4c], eax
sub eax, ecx
mov dl, byte [ecx]
mov byte [eax + ecx], dl
inc ecx
test dl, dl
jne 0x40c7b5
mov esi, ebx
mov dword [0x6fda44], 0
call fcn.0040ad30
test eax, eax
je 0x40c9fb
mov ecx, 0x8a
call fcn.004dbcd8
test eax, eax
je 0x40c84f
mov ecx, eax
call fcn.00500bac
mov ebx, eax
jmp 0x40c851
call fcn.0040b790
cmp eax, 1
jne 0x40c83d
push 0
push 0
mov edx, str.Delete_Company__
mov ecx, 4
call fcn.004015a0
cmp eax, 0x8000b
jne 0x40c83d
push 0
push 0
mov edx, 0x6b9454
mov ecx, 4
call fcn.004015a0
cmp eax, 0x8000b
jne 0x40c83d
lea ecx, [esp + 0x34]
call fcn.004fa724
jmp 0x40c740
call fcn.0040acf0
pop edi
pop ebp
pop esi
pop ebx
add esp, 0x928
ret 4
xor ebx, ebx
mov ecx, 0xb5
call fcn.004dbcd8
test eax, eax
je 0x40c86c
push 0
mov ecx, eax
call fcn.004fea2c
mov ebp, eax
jmp 0x40c86e
xor ebp, ebp
push ebx
mov esi, ebp
call fcn.0040b8e0
push 0
push 0
mov edx, str.Migrate__
mov ecx, 4
call fcn.004015a0
cmp eax, 0x8000b
jne 0x40c8a3
call fcn.004f5590
mov ecx, dword [esp + 0x10]
call fcn.0040c540
call fcn.004f5680
lea ecx, [esp + 0x138]
push ecx
mov ecx, edi
call fcn.0052aff8
mov eax, dword [0x6fda4c]
mov esi, 0x6c4cf0
lea esp, [esp]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40c8e4
test cl, cl
je 0x40c8e0
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40c8e4
add eax, 2
add esi, 2
test cl, cl
jne 0x40c8c0
xor eax, eax
jmp 0x40c8e9
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40c954
mov ecx, 0x80
call fcn.004dbd48
mov ecx, dword [0x6ff94f]
push 0x80
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
push eax
push 0
push 0x6c
call fcn.00529f24
push 0
push 0
mov edx, str.Migration_Completed_nCheck_Statistics
mov ecx, 4
call fcn.0040a580
mov esi, dword [esp + 0x10]
mov edi, str.IMPORT_ERROR
mov ecx, 0xd
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x40c942
call fcn.0040aa80
jmp 0x40c947
call fcn.0040a9e0
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x40c954
call fcn.004db418
mov ecx, dword [0x6ffbb4]
lea eax, [esp + 0x138]
push eax
push str.Migration_ended_at__s
xor esi, esi
push esi
push 2
push ecx
call fcn.005221cc
mov edx, dword [0x6ffbb4]
push 0x6b93ac
push edx
call fcn.0052226c
mov eax, dword [0x6ffbb4]
push 0x6b93e6
push eax
call fcn.0052226c
add esp, 0x24
cmp ebp, esi
je 0x40c9a3
mov edx, dword [ebp]
push 1
mov ecx, ebp
call dword [edx]
cmp ebx, esi
je 0x40c9af
mov eax, dword [ebx]
push 1
mov ecx, ebx
call dword [eax]
mov ecx, dword [0x6fda4c]
push esi
push esi
push ecx
mov ecx, dword [0x6ff94f]
push 0x69
call fcn.00529f24
call fcn.0040acf0
mov ecx, dword [0x6fda4c]
mov dword [0x6ffbac], esi
call fcn.004db418
mov edx, dword [0x6ff854]
push esi
push esi
push edx
mov dword [0x6fda4c], esi
call dword [sym.imp.USER32.dll_InvalidateRect]
mov ecx, dword [0x6ff762]
call fcn.00529024
pop edi
pop ebp
pop esi
pop ebx
add esp, 0x928
ret 4