Function at 0x40c590
Capabilities:
Create directory
Delete directory

Disassembly:
mov eax, 0x928
call fcn.00697340
mov eax, dword [0x7009ac]
test eax, eax
push ebx
mov ebx, ecx
push esi
mov esi, edx
mov dword [esp + 8], ebx
je 0x40c5ee
push eax
call fcn.00697656
add esp, 4
test eax, eax
je 0x40c5ee
mov ecx, dword [0x7bd020]
push 0x6b9f80
call fcn.004feed4
mov ecx, dword [0x700c0c]
mov dword [esp + 0xc], eax
lea eax, [esp + 0xc]
push eax
call fcn.004edfbc
mov ecx, dword [0x7009ac]
push 2
push ecx
mov ecx, eax
call fcn.00502bec
mov ecx, dword [0x7bd020]
push 0x6b9f80
call fcn.004feed4
mov ecx, dword [0x700c0c]
lea edx, [esp + 0xc]
push edx
mov dword [esp + 0x10], eax
call fcn.004edfbc
mov ecx, dword [eax + 0x29]
call fcn.0051a4d0
test eax, eax
mov dword [0x6fea40], eax
jg 0x40c62d
mov dword [0x6fea40], 0x32
test esi, esi
je 0x40c635
test ebx, ebx
jne 0x40c678
call fcn.0040b700
test eax, eax
je 0x40ca1d
mov eax, dword [0x6feb40]
mov eax, dword [eax + 0x17]
test eax, eax
mov dword [esp + 8], eax
jne 0x40c674
mov ecx, dword [0x700bd4]
push str.Failed_to_Get_Current_Company__Please_try_again.
push eax
push 1
push ecx
call fcn.0052236c
add esp, 0x10
pop esi
pop ebx
add esp, 0x928
ret 4
mov ebx, dword [esp + 8]
test byte [ebx + 0xec], 0x40
je 0x40c6aa
call fcn.0040a790
lea ecx, [esp + 0x10]
call fcn.004f5430
push 0
push 0
push str.Continue_Migration__
push 4
lea ecx, [esp + 0x20]
call fcn.004f50a0
cmp eax, 0x8000b
jne 0x40c6b3
call fcn.0040b870
test eax, eax
jne 0x40c6c3
call fcn.0040ad10
pop esi
pop ebx
add esp, 0x928
ret 4
push ebp
mov ecx, 0x80
call fcn.004dbe28
mov edx, dword [ebx + 0x39]
push edx
mov ebp, eax
push str._05d
push ebp
call fcn.006974c6
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 0x40c6f0
lea eax, [esp + 0x30]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40c701
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 0x40c712
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 0x40c723
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.004db4f8
push 0
lea eax, [esp + 0x38]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
je 0x40c811
lea ecx, [esp + 0x34]
push ecx
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
mov edi, dword [0x700834]
lea edx, [esp + 0x138]
push edx
mov ecx, edi
call fcn.0052b1c0
mov eax, dword [0x700bd4]
push 0x6ba3e6
push eax
call fcn.0052240c
mov ecx, dword [0x700bd4]
push 0x6ba3ac
push ecx
call fcn.0052240c
mov eax, dword [0x700bd4]
lea edx, [esp + 0x148]
push edx
push str.Migration_start_at__s
push 0
push 2
push eax
call fcn.0052236c
add esp, 0x24
mov ecx, 0x80
mov dword [0x700bcc], 1
call fcn.004dbe28
mov ecx, 0x6c5cec
mov dword [0x6fea4c], eax
sub eax, ecx
mov dl, byte [ecx]
mov byte [eax + ecx], dl
inc ecx
test dl, dl
jne 0x40c7d5
mov esi, ebx
mov dword [0x6fea44], 0
call fcn.0040ad50
test eax, eax
je 0x40ca1b
mov ecx, 0x8a
call fcn.004dbdb8
test eax, eax
je 0x40c86f
mov ecx, eax
call fcn.00500ccc
mov ebx, eax
jmp 0x40c871
call fcn.0040b7b0
cmp eax, 1
jne 0x40c85d
push 0
push 0
mov edx, str.Delete_Company__
mov ecx, 4
call fcn.004015b0
cmp eax, 0x8000b
jne 0x40c85d
push 0
push 0
mov edx, 0x6ba454
mov ecx, 4
call fcn.004015b0
cmp eax, 0x8000b
jne 0x40c85d
lea ecx, [esp + 0x34]
call fcn.004fa844
jmp 0x40c760
call fcn.0040ad10
pop edi
pop ebp
pop esi
pop ebx
add esp, 0x928
ret 4
xor ebx, ebx
mov ecx, 0xb5
call fcn.004dbdb8
test eax, eax
je 0x40c88c
push 0
mov ecx, eax
call fcn.004feb4c
mov ebp, eax
jmp 0x40c88e
xor ebp, ebp
push ebx
mov esi, ebp
call fcn.0040b900
push 0
push 0
mov edx, str.Migrate__
mov ecx, 4
call fcn.004015b0
cmp eax, 0x8000b
jne 0x40c8c3
call fcn.004f56f0
mov ecx, dword [esp + 0x10]
call fcn.0040c560
call fcn.004f57e0
lea ecx, [esp + 0x138]
push ecx
mov ecx, edi
call fcn.0052b1c0
mov eax, dword [0x6fea4c]
mov esi, 0x6c5cf0
lea esp, [esp]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40c904
test cl, cl
je 0x40c900
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40c904
add eax, 2
add esi, 2
test cl, cl
jne 0x40c8e0
xor eax, eax
jmp 0x40c909
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40c974
mov ecx, 0x80
call fcn.004dbe28
mov ecx, dword [0x70095b]
push 0x80
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
push eax
push 0
push 0x6c
call fcn.0052a0e4
push 0
push 0
mov edx, str.Migration_Completed_nCheck_Statistics
mov ecx, 4
call fcn.0040a5a0
mov esi, dword [esp + 0x10]
mov edi, str.IMPORT_ERROR
mov ecx, 0xd
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x40c962
call fcn.0040aaa0
jmp 0x40c967
call fcn.0040aa00
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x40c974
call fcn.004db4f8
mov ecx, dword [0x700bd4]
lea eax, [esp + 0x138]
push eax
push str.Migration_ended_at__s
xor esi, esi
push esi
push 2
push ecx
call fcn.0052236c
mov edx, dword [0x700bd4]
push 0x6ba3ac
push edx
call fcn.0052240c
mov eax, dword [0x700bd4]
push 0x6ba3e6
push eax
call fcn.0052240c
add esp, 0x24
cmp ebp, esi
je 0x40c9c3
mov edx, dword [ebp]
push 1
mov ecx, ebp
call dword [edx]
cmp ebx, esi
je 0x40c9cf
mov eax, dword [ebx]
push 1
mov ecx, ebx
call dword [eax]
mov ecx, dword [0x6fea4c]
push esi
push esi
push ecx
mov ecx, dword [0x70095b]
push 0x69
call fcn.0052a0e4
call fcn.0040ad10
mov ecx, dword [0x6fea4c]
mov dword [0x700bcc], esi
call fcn.004db4f8
mov edx, dword [0x700854]
push esi
push esi
push edx
mov dword [0x6fea4c], esi
call dword [sym.imp.USER32.dll_InvalidateRect]
mov ecx, dword [0x700762]
call fcn.005291e4
pop edi
pop ebp
pop esi
pop ebx
add esp, 0x928
ret 4