Function at 0x438d70
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x18
push ebp
mov ebp, dword [esp + 0x24]
push edi
mov edi, eax
cmp dword [edi + 0x340], 0
je 0x438d92
mov eax, dword [esp + 0x38]
test byte [eax + 0x20], 2
jne 0x439119
cmp dword [edi + 0x344], 0
je 0x438da9
mov ecx, dword [esp + 0x38]
test byte [ecx + 0x20], 4
jne 0x439119
lea edx, [esp + 8]
push edx
lea eax, [esp + 0x10]
push eax
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x24]
push edx
push eax
call fcn.0051c740
mov eax, dword [esp + 0x14]
test eax, eax
je 0x439119
mov ecx, dword [esp + 0x18]
push ebx
mov ebx, dword [esp + 0x28]
push eax
push ecx
push ebx
push edi
call fcn.00438bb0
test eax, eax
mov dword [esp + 0x2c], eax
je 0x439159
push esi
push edi
mov esi, ebp
call fcn.00438a30
mov esi, eax
test esi, esi
je 0x439139
mov edx, dword [esp + 0x30]
push edx
push esi
call fcn.00432240
test eax, eax
jne 0x439121
mov al, byte [esi + 4]
cmp al, 0xff
jne 0x438e23
mov ecx, dword [esi - 4]
jmp 0x438e26
movzx ecx, al
mov ebx, dword [esp + 0x10]
cmp ecx, ebx
mov dword [esp + 0x34], ecx
mov edx, ecx
jl 0x438e36
mov edx, ebx
test edx, edx
lea eax, [esi + 5]
je 0x438e5e
mov ebx, dword [esp + 0x14]
sub ebx, eax
movzx ebp, byte [ebx + eax]
movzx ecx, byte [eax]
sub ecx, ebp
jne 0x438e60
add eax, 1
sub edx, 1
jne 0x438e43
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x34]
sub ecx, ebx
test ecx, ecx
jne 0x438e70
mov eax, dword [esp + 0x30]
cmp eax, dword [esi]
je 0x439117
push esi
push edi
call fcn.00453f60
push esi
push edi
mov dword [esp + 0x3c], eax
call fcn.00456030
push esi
push fcn.0042dcf0
lea ecx, [edi + 0x48]
xor ebp, ebp
push ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x30], ebp
call fcn.004022b0
test eax, eax
jne 0x438eb7
push str.folder_name_array_corrupt_n
push 0xffff0000
call fcn.0048f0f0
add esp, 8
push edi
call fcn.004102b0
test byte [edi + 0x34c], 0x20
je 0x438ef0
mov al, byte [esi + 4]
cmp al, 0xff
jne 0x438ed0
mov edx, dword [esi - 4]
lea eax, [edx + esi + 5]
jmp 0x438ed7
movzx eax, al
lea eax, [eax + esi + 5]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov eax, dword [esi]
push 0
push 0
push ecx
mov ecx, dword [esp + 0x38]
push edx
push eax
push ecx
push edi
call fcn.00433650
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
push edx
mov edx, dword [esp + 0x34]
push eax
mov eax, dword [esp + 0x34]
push ecx
push edx
push eax
push edi
call fcn.004333b0
mov ebx, eax
test ebx, ebx
je 0x438f32
call fcn.0040f4b0
push edx
push eax
push ebx
push 1
push edi
call fcn.00454050
push ebx
push 1
push edi
mov ebp, eax
call fcn.004561f0
jmp 0x438f36
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x34]
push eax
push ebp
push ebx
push ecx
push edx
push esi
push edi
call fcn.004342b0
mov ebp, dword [esp + 0x2c]
push ebx
push esi
push ebp
push edi
call fcn.00435420
mov eax, dword [edi + 0x34c]
test eax, 0x3f00
je 0x4390c1
test eax, 0x2000
je 0x438f9a
push esi
push 0x42dfa0
lea eax, [edi + 0x78]
push eax
call fcn.004022b0
test eax, eax
jne 0x438f9a
push str.corrupt_folder_path_array_n
push 0xffff0000
call fcn.0048f0f0
add esp, 8
push edi
call fcn.004102b0
mov eax, dword [edi + 0x34c]
test al, 0x20
je 0x438fd9
test eax, 0x100
je 0x438fd9
push esi
push 0x4324b0
lea ecx, [edi + 0xa8]
push ecx
call fcn.004022b0
test eax, eax
jne 0x438fd9
push str.corrupt_folder_size_array_n
push 0xffff0000
call fcn.0048f0f0
add esp, 8
push edi
call fcn.004102b0
test dword [edi + 0x34c], 0x200
je 0x439013
push esi
push fcn.0042e390
lea edx, [edi + 0xd8]
push edx
call fcn.004022b0
test eax, eax
jne 0x439013
push str.corrupt_folder_date_created_array_n
push 0xffff0000
call fcn.0048f0f0
add esp, 8
push edi
call fcn.004102b0
test dword [edi + 0x34c], 0x400
je 0x43904d
push esi
push fcn.0042e2a0
lea eax, [edi + 0x108]
push eax
call fcn.004022b0
test eax, eax
jne 0x43904d
push str.corrupt_folder_date_modified_array_n
push 0xffff0000
call fcn.0048f0f0
add esp, 8
push edi
call fcn.004102b0
test dword [edi + 0x34c], 0x800
je 0x439087
push esi
push fcn.0042e480
lea ecx, [edi + 0x138]
push ecx
call fcn.004022b0
test eax, eax
jne 0x439087
push str.corrupt_folder_date_accessed_array_n
push 0xffff0000
call fcn.0048f0f0
add esp, 8
push edi
call fcn.004102b0
test dword [edi + 0x34c], 0x1000
je 0x4390c1
push esi
push fcn.0042e570
lea edx, [edi + 0x168]
push edx
call fcn.004022b0
test eax, eax
jne 0x4390c1
push str.corrupt_folder_attributes_array_n
push 0xffff0000
call fcn.0048f0f0
add esp, 8
push edi
call fcn.004102b0
mov eax, dword [esp + 0x34]
test eax, eax
je 0x4390d0
push eax
push edi
call fcn.00453fd0
mov eax, dword [esp + 0x18]
test eax, eax
je 0x4390df
push eax
push edi
call fcn.00455280
mov eax, dword [esi]
mov ebx, dword [esp + 0x30]
cmp ebx, eax
je 0x4390fc
mov ecx, dword [esp + 0x38]
push ecx
push 0
push 0
push 0
push eax
push ebp
push edi
call fcn.00433a00
mov edx, dword [esp + 0x3c]
push edx
push 0
push 0
push 0
push ebx
push ebp
push edi
call fcn.00433a00
push esi
push ebp
push edi
call fcn.004320a0
pop esi
pop ebx
pop edi
pop ebp
add esp, 0x18
ret 0x18
mov eax, dword [esp + 0x38]
push eax
mov ecx, ebp
mov eax, ebx
call fcn.00438d20
pop esi
pop ebx
pop edi
pop ebp
add esp, 0x18
ret 0x18
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x34]
push ecx
push edx
push eax
mov esi, edi
call fcn.00438c80
pop esi
pop ebx
pop edi
pop ebp
add esp, 0x18
ret 0x18
mov ecx, dword [esp + 0x34]
push ecx
mov ecx, ebp
mov eax, ebx
call fcn.00438d20
pop ebx
pop edi
pop ebp
add esp, 0x18
ret 0x18