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

Disassembly:
sub esp, 0x18
push ebp
mov ebp, dword [esp + 0x20]
push edi
mov edi, eax
cmp dword [edi + 0x340], 0
je 0x4379d2
mov eax, dword [esp + 0x38]
test byte [eax + 0x20], 2
jne 0x437d64
cmp dword [edi + 0x344], 0
je 0x4379e9
mov ecx, dword [esp + 0x38]
test byte [ecx + 0x20], 4
jne 0x437d64
lea edx, [esp + 0xc]
push edx
lea eax, [esp + 0x14]
push eax
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x24]
push edx
push eax
call fcn.00518310
mov eax, dword [esp + 0x14]
test eax, eax
je 0x437d64
mov ecx, dword [esp + 0x18]
push eax
push ecx
push ebp
push edi
call fcn.004377f0
test eax, eax
mov dword [esp + 8], eax
je 0x437da6
push ebx
push esi
mov esi, dword [esp + 0x30]
push edi
mov ebx, ebp
call fcn.00437670
mov esi, eax
test esi, esi
je 0x437d86
mov edx, dword [esp + 0x10]
push edx
push esi
call fcn.00430fc0
test eax, eax
jne 0x437d6c
mov al, byte [esi + 4]
cmp al, 0xff
jne 0x437a63
mov ecx, dword [esi - 4]
jmp 0x437a66
movzx ecx, al
mov ebx, dword [esp + 0x14]
cmp ecx, ebx
mov dword [esp + 0x30], ecx
mov edx, ecx
jl 0x437a76
mov edx, ebx
test edx, edx
lea eax, [esi + 5]
je 0x437aa6
mov ebx, dword [esp + 0x18]
sub ebx, eax
movzx ebp, byte [ebx + eax]
movzx ecx, byte [eax]
sub ecx, ebp
jne 0x437c86
add eax, 1
sub edx, 1
jne 0x437a83
mov ecx, dword [esp + 0x30]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x2c]
sub ecx, ebx
xor ebx, ebx
cmp ecx, ebx
jne 0x437aba
mov eax, dword [esp + 0x10]
cmp eax, dword [esi]
je 0x437d62
push esi
push edi
call fcn.00452e40
push esi
push edi
mov dword [esp + 0x2c], eax
call fcn.00454e90
push esi
push fcn.0042c9d0
lea ecx, [edi + 0x48]
push ecx
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x38], ebx
call fcn.00402200
test eax, eax
jne 0x437b03
push str.folder_name_array_corrupt_n
push 0xffff0000
call fcn.0048dc30
add esp, 8
push edi
call fcn.0040fd90
mov eax, dword [edi + 0x34c]
test eax, 0x3f00
je 0x437c6d
test eax, 0x2000
je 0x437b46
push esi
push 0x42cc60
lea edx, [edi + 0x78]
push edx
call fcn.00402200
test eax, eax
jne 0x437b46
push str.corrupt_folder_path_array_n
push 0xffff0000
call fcn.0048dc30
add esp, 8
push edi
call fcn.0040fd90
mov eax, dword [edi + 0x34c]
test al, 0x20
je 0x437b85
test eax, 0x100
je 0x437b85
push esi
push 0x431200
lea eax, [edi + 0xa8]
push eax
call fcn.00402200
test eax, eax
jne 0x437b85
push str.corrupt_folder_size_array_n
push 0xffff0000
call fcn.0048dc30
add esp, 8
push edi
call fcn.0040fd90
test dword [edi + 0x34c], 0x200
je 0x437bbf
push esi
push fcn.0042d030
lea ecx, [edi + 0xd8]
push ecx
call fcn.00402200
test eax, eax
jne 0x437bbf
push str.corrupt_folder_date_created_array_n
push 0xffff0000
call fcn.0048dc30
add esp, 8
push edi
call fcn.0040fd90
test dword [edi + 0x34c], 0x400
je 0x437bf9
push esi
push fcn.0042cf40
lea edx, [edi + 0x108]
push edx
call fcn.00402200
test eax, eax
jne 0x437bf9
push str.corrupt_folder_date_modified_array_n
push 0xffff0000
call fcn.0048dc30
add esp, 8
push edi
call fcn.0040fd90
test dword [edi + 0x34c], 0x800
je 0x437c33
push esi
push fcn.0042d120
lea eax, [edi + 0x138]
push eax
call fcn.00402200
test eax, eax
jne 0x437c33
push str.corrupt_folder_date_accessed_array_n
push 0xffff0000
call fcn.0048dc30
add esp, 8
push edi
call fcn.0040fd90
test dword [edi + 0x34c], 0x1000
je 0x437c6d
push esi
push fcn.0042d210
lea ecx, [edi + 0x168]
push ecx
call fcn.00402200
test eax, eax
jne 0x437c6d
push str.corrupt_folder_attributes_array_n
push 0xffff0000
call fcn.0048dc30
add esp, 8
push edi
call fcn.0040fd90
test byte [edi + 0x34c], 0x20
je 0x437ca9
mov al, byte [esi + 4]
cmp al, 0xff
jne 0x437c8f
mov edx, dword [esi - 4]
lea eax, [edx + esi + 5]
jmp 0x437c96
mov ebp, dword [esp + 0x2c]
jmp 0x437aa8
movzx eax, al
lea eax, [eax + esi + 5]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov eax, dword [esi]
push ebx
push ebx
push ecx
push edx
push eax
push ebp
push edi
call fcn.00432360
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x14]
push edx
push eax
push ecx
push ebp
push edi
call fcn.004320c0
mov ebx, eax
test ebx, ebx
je 0x437ceb
call fcn.0040ef90
push edx
push eax
push ebx
push 1
push edi
call fcn.00452f30
push ebx
push 1
push edi
mov dword [esp + 0x3c], eax
call fcn.00455050
mov dword [esp + 0x2c], eax
push ebx
push esi
push ebp
push edi
call fcn.00434040
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
push edx
push eax
push ebx
mov ebx, dword [esp + 0x30]
push ecx
push ebx
push esi
push edi
call fcn.00432f10
test ebx, ebx
je 0x437d1b
push ebx
push edi
call fcn.00452eb0
mov eax, dword [esp + 0x34]
test eax, eax
je 0x437d2a
push eax
push edi
call fcn.00454130
mov eax, dword [esi]
mov ebx, dword [esp + 0x10]
cmp ebx, eax
je 0x437d47
mov edx, dword [esp + 0x38]
push edx
push 0
push 0
push 0
push eax
push ebp
push edi
call fcn.00432690
mov eax, dword [esp + 0x3c]
push eax
push 0
push 0
push 0
push ebx
push ebp
push edi
call fcn.00432690
push esi
push ebp
push edi
call fcn.00430e20
pop esi
pop ebx
pop edi
pop ebp
add esp, 0x18
ret 0x18
mov ecx, dword [esp + 0x38]
push ecx
mov ecx, dword [esp + 0x34]
mov eax, ebp
call fcn.00437960
pop esi
pop ebx
pop edi
pop ebp
add esp, 0x18
ret 0x18
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x34]
push edx
push eax
push ecx
mov esi, edi
call fcn.004378c0
pop esi
pop ebx
pop edi
pop ebp
add esp, 0x18
ret 0x18
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x28]
push edx
mov eax, ebp
call fcn.00437960
pop edi
pop ebp
add esp, 0x18
ret 0x18