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

Disassembly:
sub esp, 0x44
push ebx
mov ebx, dword [esp + 0x58]
push ebp
mov ebp, dword [esp + 0x60]
push esi
mov esi, dword [esp + 0x5c]
push edi
mov edi, dword [esp + 0x5c]
push 4
lea eax, [esp + 0x48]
push eax
push ebp
push ebx
push esi
push edi
call fcn.00402990
add esp, 0x18
test eax, eax
jne 0x415fb4
push 0
push 8
call fcn.00435900
add esp, 8
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x44
ret
mov eax, dword [esp + 0x44]
cmp eax, 0x42445a45
je 0x415fe1
mov ecx, dword [esp + 0x58]
neg ecx
sbb ecx, ecx
and ecx, 0xf
push eax
add ecx, 9
push ecx
call fcn.00435900
add esp, 8
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x44
ret
push 4
lea edx, [esp + 0x4c]
push edx
push ebp
push ebx
push esi
push edi
call fcn.00402990
add esp, 0x18
test eax, eax
je 0x415f9e
mov eax, dword [esp + 0x48]
cmp eax, 0x1060006
je 0x416025
push eax
mov eax, dword [esp + 0x5c]
neg eax
sbb eax, eax
and eax, 0xf
add eax, 0xa
push eax
call fcn.00435900
add esp, 8
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x44
ret
lea ecx, [esp + 0x4c]
push ecx
push ebp
push ebx
push esi
push edi
call fcn.00405620
add esp, 0x14
test eax, eax
je 0x415faa
mov ecx, dword [esp + 0x4c]
test cl, 1
je 0x41606a
mov edx, dword [esp + 0x58]
neg edx
sbb edx, edx
and edx, 0xf
add edx, 0xa
push 0
push edx
call fcn.00435900
add esp, 8
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x44
ret
mov edx, dword [0x4a9128]
mov eax, ecx
and eax, 2
je 0x4160a8
test edx, edx
jne 0x4160a8
push str.exclude_hidden_files_and_folders_flag_changed_n
call fcn.00430350
mov eax, dword [esp + 0x5c]
neg eax
sbb eax, eax
and eax, 0xf
add eax, 0xe
push 0
push eax
call fcn.00435900
add esp, 0xc
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x44
ret
test eax, eax
jne 0x4160dd
test edx, edx
je 0x4160dd
push str.exclude_hidden_files_and_folders_flag_changed_n
call fcn.00430350
mov ecx, dword [esp + 0x5c]
neg ecx
sbb ecx, ecx
and ecx, 0xf
add ecx, 0xe
push 0
push ecx
call fcn.00435900
add esp, 0xc
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x44
ret
mov eax, ecx
and eax, 4
mov ecx, dword [0x4a9150]
je 0x41611b
test ecx, ecx
jne 0x41611b
push str.exclude_system_files_and_folders_flag_changed_n
call fcn.00430350
mov edx, dword [esp + 0x5c]
neg edx
sbb edx, edx
and edx, 0xf
add edx, 0xe
push 0
push edx
call fcn.00435900
add esp, 0xc
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x44
ret
test eax, eax
jne 0x416150
test ecx, ecx
je 0x416150
push str.exclude_system_files_and_folders_flag_changed_n
call fcn.00430350
mov eax, dword [esp + 0x5c]
neg eax
sbb eax, eax
and eax, 0xf
add eax, 0xe
push 0
push eax
call fcn.00435900
add esp, 0xc
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x44
ret
lea ecx, [esp + 0x18]
push ecx
push ebp
push ebx
push esi
push edi
call fcn.00405620
add esp, 0x14
test eax, eax
je 0x415faa
lea edx, [esp + 0x24]
push edx
push ebp
push ebx
push esi
push edi
call fcn.00405620
add esp, 0x14
test eax, eax
je 0x415faa
lea eax, [esp + 0x2c]
push eax
push ebp
push ebx
push esi
push edi
call fcn.00405620
add esp, 0x14
test eax, eax
je 0x415faa
lea ecx, [esp + 0x34]
push ecx
push ebp
push ebx
push esi
push edi
call fcn.00405620
add esp, 0x14
test eax, eax
je 0x415faa
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x24]
push eax
push str.folder_count__d_n
mov dword [0x4a91d8], eax
mov dword [0x4a9200], edx
call fcn.00430350
mov eax, dword [0x4a9200]
push eax
push str.file_count__d_n
call fcn.00430350
mov eax, dword [0x4a91d8]
mov ecx, eax
shl ecx, 4
add ecx, eax
push ecx
push str.folder_size__d_n
call fcn.00430350
mov edx, dword [0x4a9200]
lea eax, [edx*8]
push eax
push str.file_size__d_n
call fcn.00430350
mov eax, dword [esp + 0x4c]
lea ecx, [eax + 0xffff]
shr ecx, 0x10
push ecx
push eax
push str.folder_decode_size__d___d_chunks__n
call fcn.00430350
mov edx, dword [0x4a91d8]
imul edx, edx, 0xd
push edx
push str.folder_data_size__d_n
call fcn.00430350
mov eax, dword [0x4a91d8]
mov ecx, dword [esp + 0x60]
imul eax, eax, 0xd
sub ecx, eax
push ecx
push str.folder_namespace_size__d_n
call fcn.00430350
mov eax, dword [esp + 0x70]
lea edx, [eax + 0xffff]
shr edx, 0x10
push edx
push eax
push str.file_decode_size__d___d_chunks__n
call fcn.00430350
mov eax, dword [0x4a9200]
add esp, 0x48
lea ecx, [eax*4]
push ecx
push str.file_data_size__d_n
call fcn.00430350
mov edx, dword [0x4a9200]
mov ecx, dword [esp + 0x3c]
lea eax, [edx*4]
sub ecx, eax
push ecx
push str.file_namespace_size__d_n
call fcn.00430350
mov eax, dword [0x4a9220]
add esp, 0x10
xor edi, edi
xor esi, esi
mov ecx, dword [esp + 0x5c]
lea edx, [esi + eax]
mov eax, dword [esp + 0x60]
push edx
push ebp
push ebx
push eax
push ecx
call fcn.004055e0
add esp, 0x14
test eax, eax
je 0x415faa
mov eax, dword [0x4a9220]
cmp byte [esi + eax + 2], 0
je 0x41644c
cmp byte [esi + eax + 1], 0
jne 0x416415
push edi
call fcn.00412100
add esp, 4
test eax, eax
je 0x4163d9
mov edx, dword [0x4a9220]
cmp byte [esi + edx], 0
jne 0x416335
cmp dword [0x4a9130], 0
jne 0x4164bc
push edi
call fcn.004054a0
add esp, 4
cmp eax, 2
jne 0x4164bc
mov eax, dword [0x4a9220]
jmp 0x416456
push 0
push 0
push 0
push 0
push 0
lea eax, [esp + 0x64]
push eax
push edi
call fcn.00405400
mov ecx, dword [0x4a9220]
mov eax, dword [esp + 0x7c]
lea edx, [esi + ecx + 4]
mov ecx, dword [esp + 0x78]
push edx
push ebp
push ebx
push eax
push ecx
call fcn.00405620
add esp, 0x30
test eax, eax
je 0x415faa
mov eax, dword [0x4a9220]
mov edx, dword [esi + eax + 4]
cmp edx, dword [esp + 0x50]
jne 0x4164ed
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x5c]
lea eax, [esi + eax + 8]
push eax
push ebp
push ebx
push ecx
push edx
call fcn.00405660
add esp, 0x14
test eax, eax
je 0x415faa
mov eax, dword [0x4a9220]
mov edx, dword [esp + 0x60]
lea ecx, [esi + eax + 0x10]
mov eax, dword [esp + 0x5c]
push ecx
push ebp
push ebx
push edx
push eax
call fcn.00405660
add esp, 0x14
test eax, eax
je 0x415faa
mov eax, dword [esp + 0x6c]
add dword [eax], 1
mov eax, dword [0x4a9220]
jmp 0x416456
mov eax, dword [0x4a9220]
cmp byte [esi + eax], 0
je 0x416456
add edi, 0x41
push edi
push str.drive__c_should_not_be_included_n
call fcn.00430350
mov eax, dword [esp + 0x60]
neg eax
sbb eax, eax
and eax, 0xf
add eax, 0xc
push 0
push eax
call fcn.00435900
add esp, 0x10
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x44
ret
cmp byte [esi + eax], 0
je 0x416456
add edi, 0x41
push edi
push str.drive__c_should_not_be_included_n
call fcn.00430350
mov ecx, dword [esp + 0x60]
neg ecx
sbb ecx, ecx
and ecx, 0xf
add ecx, 0xc
push 0
push ecx
call fcn.00435900
add esp, 0x10
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x44
ret
cmp byte [esi + eax], 0
jne 0x416510
add esi, 0x19
add edi, 1
cmp esi, 0x28a
jl 0x4162b4
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x5c]
lea eax, [esp + 0x3c]
push eax
push ebp
push ebx
push ecx
push edx
call fcn.00405620
add esp, 0x14
test eax, eax
je 0x415faa
mov eax, dword [esp + 0x3c]
cmp eax, dword [0x4a9230]
je 0x416541
mov eax, dword [esp + 0x58]
neg eax
sbb eax, eax
and eax, 0xf
add eax, 0xd
push 0
push eax
call fcn.00435900
add esp, 8
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x44
ret
add edi, 0x41
push edi
push str.drive__c_should_be_included_n
call fcn.00430350
mov ecx, dword [esp + 0x60]
neg ecx
sbb ecx, ecx
and ecx, 0xf
add ecx, 0xc
push 0
push ecx
call fcn.00435900
add esp, 0x10
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x44
ret
mov edx, dword [esp + 0x58]
neg edx
sbb edx, edx
and edx, 0xf
add edx, 0xc
push 0
push edx
call fcn.00435900
add esp, 8
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x44
ret
add edi, 0x41
push edi
push str.drive__c_should_not_be_included_n
call fcn.00430350
mov edx, dword [esp + 0x60]
neg edx
sbb edx, edx
and edx, 0xf
add edx, 0xc
push 0
push edx
call fcn.00435900
add esp, 0x10
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x44
ret
xor ebx, ebx
cmp eax, ebx
jle 0x416611
xor edi, edi
lea ecx, [ecx]
mov esi, dword [esp + 0x64]
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x5c]
lea ecx, [esp + 0x12]
push ecx
push ebp
push esi
push edx
push eax
call fcn.004055e0
add esp, 0x14
test eax, eax
je 0x415faa
mov cl, byte [esp + 0x12]
mov edx, dword [0x4a922c]
cmp cl, byte [edi + edx]
jne 0x4166f7
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x5c]
lea eax, [esp + 0x1c]
push eax
push ebp
push esi
push ecx
push edx
call fcn.00405620
add esp, 0x14
test eax, eax
je 0x415faa
mov eax, dword [0x4a922c]
mov ecx, dword [esp + 0x1c]
cmp ecx, dword [edi + eax + 5]
jne 0x416499
test ecx, ecx
mov esi, dword [edi + eax + 1]
je 0x4165ff
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x60]
lea eax, [esp + 0x13]
push eax
mov eax, dword [esp + 0x60]
push ebp
push ecx
push edx
push eax
call fcn.004055e0
add esp, 0x14
test eax, eax
je 0x415faa
mov cl, byte [esp + 0x13]
cmp cl, byte [esi]
jne 0x41671a
add esi, 1
sub dword [esp + 0x1c], 1
jne 0x4165c4
add ebx, 1
add edi, 9
cmp ebx, dword [esp + 0x3c]
jl 0x416550
xor ebx, ebx
cmp dword [esp + 0x18], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x28], ebx
je 0x416cae
mov edx, dword [esp + 0x2c]
add edx, 0xffff
and edx, 0xffff0000
push edx
push 0x4a91b0
call fcn.00405880
mov ecx, dword [esp + 0x34]
add ecx, eax
add esp, 8
cmp dword [esp + 0x18], ebx
mov dword [0x4a91ac], eax
mov dword [esp + 0x38], ecx
mov dword [esp + 0x20], ebx
je 0x416a53
mov esi, dword [esp + 0x64]
mov edi, dword [esp + 0x60]
mov edi, edi
lea edx, [eax + 0xe]
cmp edx, dword [esp + 0x38]
ja 0x416a98
push eax
mov eax, dword [esp + 0x60]
push ebp
push esi
push edi
push eax
call fcn.004055e0
add esp, 0x14
test eax, eax
je 0x415faa
mov eax, dword [0x4a91ac]
mov ecx, dword [esp + 0x5c]
add eax, 1
push eax
push ebp
push esi
push edi
push ecx
mov dword [0x4a91ac], eax
call fcn.00405660
add esp, 0x14
test eax, eax
je 0x415faa
mov eax, dword [esp + 0x5c]
add dword [0x4a91ac], 8
lea edx, [esp + 0x1c]
push edx
push ebp
push esi
push edi
push eax
call fcn.00405620
add esp, 0x14
test eax, eax
je 0x415faa
mov ecx, dword [esp + 0x1c]
cmp ecx, 0xffffffff
jne 0x41673d
mov ecx, dword [0x4a91ac]
mov dword [ecx], 0
jmp 0x416765
mov edx, dword [esp + 0x58]
neg edx
sbb edx, edx
and edx, 0xf
add edx, 0xd
push 0
push edx
call fcn.00435900
add esp, 8
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x44
ret
mov ecx, dword [esp + 0x58]
neg ecx
sbb ecx, ecx
and ecx, 0xf
add ecx, 0xd
push 0
push ecx
call fcn.00435900
add esp, 8
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x44
ret
mov eax, dword [0x4a91a4]
mov edx, dword [eax + 4]
lea edx, [edx + eax + 8]
lea edi, [eax + ecx + 0xc]
cmp edi, edx
jae 0x416ae5
mov edi, dword [esp + 0x60]
lea eax, [eax + ecx + 8]
mov ecx, dword [0x4a91ac]
mov dword [ecx], eax
mov edx, dword [esp + 0x40]
add dword [0x4a91ac], 4
cmp dword [esp + 0x30], edx
jne 0x416827
push 0x10000
call fcn.00441a20
add esp, 4
cmp dword [0x4a91d0], 0
je 0x4167a3
mov ecx, dword [0x4a91d4]
mov dword [ecx], eax
mov edx, dword [0x4a91d4]
mov dword [eax + 4], edx
jmp 0x4167af
mov dword [0x4a91d0], eax
mov dword [eax + 4], 0
mov dword [eax], 0
mov ecx, dword [0x4a91cc]
cmp ecx, 0x4000
mov dword [0x4a91d4], eax
je 0x416b2e
mov edx, dword [0x4a91c8]
mov dword [edx + ecx*4], eax
mov ecx, dword [esp + 0x18]
add dword [0x4a91cc], 1
cmp ecx, 0x3ffc
jae 0x416801
mov edx, 0x3ffc
sub edx, ecx
shr edx, 1
add edx, edx
add edx, edx
mov dword [eax + 8], edx
mov ecx, dword [esp + 0x18]
mov dword [eax + 0xc], ecx
jmp 0x41680f
mov dword [eax + 8], 0x80
mov dword [eax + 0xc], 0x3fbc
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 8]
add ecx, ecx
lea eax, [eax + edx + 0x10]
add ecx, ecx
add ecx, eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x5c]
lea eax, [esp + 0x1c]
push eax
push ebp
push esi
push edi
push ecx
call fcn.00405620
add esp, 0x14
test eax, eax
je 0x415faa
mov eax, dword [0x4a91a4]
mov ecx, dword [esp + 0x1c]
mov edx, dword [eax + 4]
lea edx, [edx + eax + 8]
lea edi, [eax + ecx + 0xc]
cmp edi, edx
ja 0x416b6f
mov edi, dword [esp + 0x60]
lea ecx, [eax + ecx + 8]
mov eax, dword [esp + 0x30]
lea edx, [esp + 0x11]
push edx
mov dword [eax], ecx
push ebp
add eax, 4
push esi
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x68]
push edi
push eax
call fcn.004055e0
add esp, 0x14
test eax, eax
je 0x415faa
mov al, byte [esp + 0x11]
test al, al
je 0x4168c8
mov edx, dword [esp + 0x5c]
lea ecx, [esp + 0x12]
push ecx
push ebp
push esi
push edi
push edx
call fcn.004055e0
add esp, 0x14
test eax, eax
je 0x415faa
movzx eax, byte [esp + 0x12]
sub ebx, eax
js 0x416b90
mov al, byte [esp + 0x11]
movzx ecx, al
add ecx, ebx
je 0x416bcd
cmp ecx, 0xff
jg 0x416be6
mov dl, bl
add dl, al
mov eax, dword [0x4a91ac]
mov byte [eax], dl
mov cl, byte [esp + 0x11]
mov eax, dword [0x4a91ac]
mov edx, dword [esp + 0x38]
add eax, 1
movzx edi, cl
add edi, eax
add edi, ebx
cmp edi, edx
mov dword [0x4a91ac], eax
ja 0x416c27
test ebx, ebx
je 0x416937
mov ecx, dword [esp + 0x20]
push ebx
push ecx
push eax
call fcn.00483810
mov eax, dword [0x4a91ac]
mov cl, byte [esp + 0x1d]
add esp, 0xc
mov dword [esp + 0x20], eax
add eax, ebx
mov dword [0x4a91ac], eax
jmp 0x41693b
mov dword [esp + 0x20], eax
test cl, cl
mov edi, dword [esp + 0x60]
je 0x416973
movzx edx, cl
push edx
push eax
mov eax, dword [esp + 0x64]
push ebp
push esi
push edi
push eax
call fcn.004055a0
add esp, 0x18
test eax, eax
je 0x415faa
movzx ecx, byte [esp + 0x11]
mov eax, dword [0x4a91ac]
add eax, ecx
mov dword [0x4a91ac], eax
add ebx, ecx
mov edx, dword [esp + 0x14]
cmp edx, dword [esp + 0x28]
jne 0x416a2f
push 0x10000
call fcn.00441a20
add esp, 4
cmp dword [0x4a91c0], 0
je 0x4169aa
mov ecx, dword [0x4a91c4]
mov dword [ecx], eax
mov edx, dword [0x4a91c4]
mov dword [eax + 4], edx
jmp 0x4169b6
mov dword [0x4a91c0], eax
mov dword [eax + 4], 0
mov dword [eax], 0
mov ecx, dword [0x4a91bc]
cmp ecx, 0x4000
mov dword [0x4a91c4], eax
je 0x416c6d
mov edx, dword [0x4a91b8]
mov dword [edx + ecx*4], eax
mov ecx, dword [esp + 0x18]
add dword [0x4a91bc], 1
cmp ecx, 0x3ffc
jae 0x416a08
mov edx, 0x3ffc
sub edx, ecx
shr edx, 1
add edx, edx
add edx, edx
mov dword [eax + 8], edx
mov ecx, dword [esp + 0x18]
mov dword [eax + 0xc], ecx
jmp 0x416a16
mov dword [eax + 8], 0x80
mov dword [eax + 0xc], 0x3fbc
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 8]
add ecx, ecx
lea edx, [eax + edx + 0x10]
mov eax, dword [0x4a91ac]
add ecx, ecx
add ecx, edx
mov dword [esp + 0x28], ecx
sub eax, ebx
sub eax, 0xe
mov dword [edx], eax
mov eax, dword [0x4a91ac]
add edx, 4
sub dword [esp + 0x18], 1
mov dword [esp + 0x14], edx
jne 0x416670
mov ecx, dword [esp + 0x38]
xor ebx, ebx
cmp eax, ecx
je 0x416cae
push ecx
push eax
push str.if___d____d_:_Folder_buffer_underflow._n
push str.db::_load
push 0x17be
push str.._srcdb.cpp
call fcn.00430960
mov ecx, dword [esp + 0x70]
neg ecx
sbb ecx, ecx
and ecx, 0xf
add ecx, 0xf
push ebx
push ecx
call fcn.00435900
add esp, 0x20
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x44
ret
mov eax, dword [0x4a91a4]
mov ecx, dword [eax + 4]
lea edx, [ecx + eax + 8]
push edx
add eax, 8
push eax
push str.if___d__14____d_:_Invalid_folder_offset._n
push str.db::_load
push 0x16cb
push str.._srcdb.cpp
call fcn.00430960
mov eax, dword [esp + 0x70]
neg eax
sbb eax, eax
and eax, 0xf
add eax, 0xf
push 0
push eax
call fcn.00435900
add esp, 0x20
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x44
ret
mov edx, dword [eax + 4]
lea edx, [edx + eax + 8]
push edx
push ecx
add eax, 8
push eax
push str.if___d___d__4____d_:_Invalid_folder_offset._n
push str.db::_load
push 0x16e5
push str.._srcdb.cpp
call fcn.00430960
mov eax, dword [esp + 0x74]
neg eax
sbb eax, eax
and eax, 0xf
add eax, 0xf
push 0
push eax
call fcn.00435900
add esp, 0x24
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x44
ret
push 0x4000
push str.if___d__16384_:_Too_many_folders._n
push str.db::_load
push 0x170a
push str.._srcdb.cpp
call fcn.00430960
mov ecx, dword [esp + 0x6c]
neg ecx
sbb ecx, ecx
and ecx, 0xf
add ecx, 0xf
push 0
push ecx
call fcn.00435900
add esp, 0x1c
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x44
ret
mov edx, dword [eax + 4]
lea edx, [edx + eax + 8]
push edx
push ecx
add eax, 8
push eax
push 0x494168
push str.db::_load
push 0x172a
jmp 0x416b01
push ebx
push str.if___d___0_:_Invalid_folder_code_offset._n
push str.db::_load
push 0x1743
push str.._srcdb.cpp
call fcn.00430960
mov ecx, dword [esp + 0x6c]
neg ecx
sbb ecx, ecx
and ecx, 0xf
add ecx, 0xf
push 0
push ecx
call fcn.00435900
add esp, 0x1c
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x44
ret
push ebx
movzx edx, al
push edx
push str.if_____d___d__:_Empty_folder_name._n
push str.db::_load
push 0x174e
jmp 0x416ab8
push ebx
movzx ecx, al
push ecx
push str.if___d___d___255_:_Empty_folder_name._n
push str.db::_load
push 0x1758
push str.._srcdb.cpp
call fcn.00430960
mov edx, dword [esp + 0x70]
neg edx
sbb edx, edx
and edx, 0xf
add edx, 0xf
push 0
push edx
call fcn.00435900
add esp, 0x20
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x44
ret
movzx ecx, cl
sub ecx, edx
add ecx, eax
add ecx, ebx
push ecx
push str._read_chunk__:_Folder_buffer_overflow__d_bytes
push str.db::_load
push 0x1766
push str.._srcdb.cpp
call fcn.00430960
mov edx, dword [esp + 0x6c]
neg edx
sbb edx, edx
and edx, 0xf
add edx, 0xf
push 0
push edx
call fcn.00435900
add esp, 0x1c
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x44
ret
push 0x4000
push str.if___d__16384_:_Too_many_folders._n
push str.db::_load
push 0x1798
push str.._srcdb.cpp
call fcn.00430960
mov eax, dword [esp + 0x6c]
neg eax
sbb eax, eax
and eax, 0xf
add eax, 0xf
push 0
push eax
call fcn.00435900
add esp, 0x1c
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x44
ret
xor esi, esi
cmp dword [esp + 0x24], esi
mov dword [esp + 0x28], esi
je 0x4170af
mov edx, dword [esp + 0x34]
add edx, 0xffff
and edx, 0xffff0000
push edx
push 0x4a91e8
call fcn.004058e0
mov ecx, dword [esp + 0x3c]
add esp, 8
lea edi, [eax + ecx]
xor ebx, ebx
cmp dword [esp + 0x24], esi
mov dword [0x4a91e4], eax
mov dword [esp + 0x40], edi
mov dword [esp + 0x20], esi
je 0x416f3f
lea esp, [esp]
lea edx, [eax + 5]
cmp edx, edi
ja 0x416f85
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x60]
lea eax, [esp + 0x1c]
push eax
mov eax, dword [esp + 0x60]
push ebp
push ecx
push edx
push eax
call fcn.00405620
add esp, 0x14
test eax, eax
je 0x415faa
mov eax, dword [0x4a91a4]
mov ecx, dword [esp + 0x1c]
mov edx, dword [eax + 4]
lea edx, [edx + eax + 8]
lea edi, [eax + ecx + 0xc]
cmp edi, edx
ja 0x416f9b
mov edi, dword [esp + 0x64]
lea eax, [eax + ecx + 8]
mov ecx, dword [0x4a91e4]
lea edx, [esp + 0x11]
push edx
mov dword [ecx], eax
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x60]
add dword [0x4a91e4], 4
push ebp
push edi
push eax
push ecx
call fcn.004055e0
add esp, 0x14
test eax, eax
je 0x415faa
mov al, byte [esp + 0x11]
test al, al
je 0x416dbe
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x5c]
lea edx, [esp + 0x12]
push edx
push ebp
push edi
push eax
push ecx
call fcn.004055e0
add esp, 0x14
test eax, eax
je 0x415faa
movzx edx, byte [esp + 0x12]
sub ebx, edx
js 0x416fe4
mov al, byte [esp + 0x11]
movzx ecx, al
add ecx, ebx
je 0x417021
cmp ecx, 0xff
jg 0x41703a
mov edi, dword [esp + 0x40]
mov dl, bl
add dl, al
mov eax, dword [0x4a91e4]
mov byte [eax], dl
mov cl, byte [esp + 0x11]
mov eax, dword [0x4a91e4]
add eax, 1
movzx edx, cl
add edx, eax
add edx, ebx
cmp edx, edi
mov dword [0x4a91e4], eax
ja 0x417053
test ebx, ebx
je 0x416e2d
mov ecx, dword [esp + 0x20]
push ebx
push ecx
push eax
call fcn.00483810
mov eax, dword [0x4a91e4]
mov cl, byte [esp + 0x1d]
add esp, 0xc
mov dword [esp + 0x20], eax
add eax, ebx
mov dword [0x4a91e4], eax
jmp 0x416e31
mov dword [esp + 0x20], eax
test cl, cl
je 0x416e6d
movzx edx, cl
mov ecx, dword [esp + 0x60]
push edx
mov edx, dword [esp + 0x60]
push eax
mov eax, dword [esp + 0x6c]
push ebp
push eax
push ecx
push edx
call fcn.004055a0
add esp, 0x18
test eax, eax
je 0x415faa
movzx ecx, byte [esp + 0x11]
mov eax, dword [0x4a91e4]
add eax, ecx
mov dword [0x4a91e4], eax
add ebx, ecx
cmp esi, dword [esp + 0x28]
jne 0x416f25
push 0x10000
call fcn.00441a20
add esp, 4
cmp dword [0x4a91f8], 0
je 0x416ea0
mov ecx, dword [0x4a91fc]
mov dword [ecx], eax
mov edx, dword [0x4a91fc]
mov dword [eax + 4], edx
jmp 0x416eac
mov dword [0x4a91f8], eax
mov dword [eax + 4], 0
mov dword [eax], 0
mov ecx, dword [0x4a91f4]
cmp ecx, 0x4000
mov dword [0x4a91fc], eax
je 0x417096
mov edx, dword [0x4a91f0]
mov dword [edx + ecx*4], eax
mov ecx, dword [esp + 0x24]
add dword [0x4a91f4], 1
cmp ecx, 0x3ffc
jae 0x416efe
mov edx, 0x3ffc
sub edx, ecx
shr edx, 1
add edx, edx
add edx, edx
mov dword [eax + 8], edx
mov ecx, dword [esp + 0x24]
mov dword [eax + 0xc], ecx
jmp 0x416f0c
mov dword [eax + 8], 0x80
mov dword [eax + 0xc], 0x3fbc
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 8]
add ecx, ecx
lea esi, [eax + edx + 0x10]
mov eax, dword [0x4a91e4]
add ecx, ecx
add ecx, esi
mov dword [esp + 0x28], ecx
sub eax, ebx
sub eax, 5
mov dword [esi], eax
mov eax, dword [0x4a91e4]
add esi, 4
sub dword [esp + 0x24], 1
jne 0x416d00
cmp eax, edi
je 0x4170af
push edi
push eax
push str.if___d____d_:_File_buffer_underflow._n
push str.db::_load
push 0x187b
push str.._srcdb.cpp
call fcn.00430960
mov ecx, dword [esp + 0x70]
neg ecx
sbb ecx, ecx
and ecx, 0xf
add ecx, 0xf
push 0
push ecx
call fcn.00435900
add esp, 0x20
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x44
ret
push edi
push eax
push str.if___d__5____d_:_File_buffer_overflow._n
push str.db::_load
push 0x17da
jmp 0x416ab8
mov edx, dword [eax + 4]
lea edx, [edx + eax + 8]
push edx
push ecx
add eax, 8
push eax
push 0x494168
push str.db::_load
push 0x17e7
push str.._srcdb.cpp
call fcn.00430960
mov eax, dword [esp + 0x74]
neg eax
sbb eax, eax
and eax, 0xf
add eax, 0xf
push 0
push eax
call fcn.00435900
add esp, 0x24
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x44
ret
push ebx
push str.if___d___0_:_Invalid_folder_code_offset._n
push str.db::_load
push 0x17fe
push str.._srcdb.cpp
call fcn.00430960
mov ecx, dword [esp + 0x6c]
neg ecx
sbb ecx, ecx
and ecx, 0xf
add ecx, 0xf
push 0
push ecx
call fcn.00435900
add esp, 0x1c
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x44
ret
push ebx
movzx edx, al
push edx
push str.if_____d___d__:_Empty_file_name._n
push str.db::_load
push 0x1809
jmp 0x416ab8
push ebx
movzx ecx, al
push ecx
push str.if___d___d___255_:_Empty_file_name._n
push str.db::_load
push 0x1813
jmp 0x416bfa
push edi
movzx ecx, cl
push ecx
push ebx
push eax
push str.if___d__5___d___d____d_:_File_buffer_overflow._n
push str.db::_load
push 0x1821
push str.._srcdb.cpp
call fcn.00430960
mov edx, dword [esp + 0x78]
neg edx
sbb edx, edx
and edx, 0xf
add edx, 0xf
push 0
push edx
call fcn.00435900
add esp, 0x28
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x44
ret
push 0x4000
push str.if___d__16384_:_Too_many_files._n
push str.db::_load
push 0x1853
jmp 0x416c81
mov edx, dword [0x4a91c0]
test edx, edx
mov esi, dword [0x4a91a4]
mov dword [esp + 0x14], edx
je 0x41715f
jmp 0x4170d0
mov eax, dword [edx + 8]
mov ecx, dword [edx + 0xc]
lea ebp, [eax + ecx*4 + 0x10]
add ebp, edx
lea edi, [eax + edx + 0x10]
cmp edi, ebp
mov dword [esp + 0x38], ebp
je 0x417151
mov ecx, dword [edi]
mov eax, dword [ecx + 9]
test eax, eax
movzx ebx, byte [ecx]
je 0x41714a
lea ecx, [esi + 8]
cmp eax, ecx
jb 0x4172a5
mov edx, dword [esi + 4]
lea ecx, [edx + esi + 8]
lea edx, [eax + 0xe]
cmp edx, ecx
ja 0x4172be
movzx edx, byte [eax + 0xd]
lea ebp, [edx + eax + 0xe]
cmp ebp, ecx
ja 0x4172db
movzx ecx, byte [eax]
cmp ebx, ecx
jne 0x4172f8
lea ecx, [edx + 1]
cmp ecx, 0x10000
jg 0x417311
mov eax, dword [eax + 9]
test eax, eax
jne 0x4170f4
mov ebp, dword [esp + 0x38]
mov edx, dword [esp + 0x14]
add edi, 4
cmp edi, ebp
jne 0x4170e8
mov edx, dword [edx]
test edx, edx
mov dword [esp + 0x14], edx
jne 0x4170d0
mov ebp, dword [0x4a91d0]
test ebp, ebp
mov dword [esp + 0x14], ebp
je 0x41720c
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
lea edx, [eax + ecx*4 + 0x10]
add edx, ebp
lea edi, [eax + ebp + 0x10]
cmp edi, edx
mov dword [esp + 0x38], edx
je 0x4171fd
lea esp, [esp]
mov ecx, dword [edi]
mov eax, dword [ecx + 9]
test eax, eax
movzx ebx, byte [ecx]
je 0x4171f6
lea esp, [esp]
lea ecx, [esi + 8]
cmp eax, ecx
jb 0x417326
mov edx, dword [esi + 4]
lea ecx, [edx + esi + 8]
lea edx, [eax + 0xe]
cmp edx, ecx
ja 0x41733f
movzx edx, byte [eax + 0xd]
lea ebp, [edx + eax + 0xe]
cmp ebp, ecx
ja 0x41735c
movzx ecx, byte [eax]
cmp ebx, ecx
jne 0x417379
lea ecx, [edx + 1]
cmp ecx, 0x10000
jg 0x417392
mov eax, dword [eax + 9]
test eax, eax
jne 0x4171a0
mov edx, dword [esp + 0x38]
mov ebp, dword [esp + 0x14]
add edi, 4
cmp edi, edx
jne 0x417190
mov ebp, dword [ebp]
test ebp, ebp
mov dword [esp + 0x14], ebp
jne 0x417171
mov ecx, dword [0x4a91f8]
test ecx, ecx
mov dword [esp + 0x14], ecx
je 0x417298
lea ebx, [ebx]
mov eax, dword [ecx + 8]
mov edx, dword [ecx + 0xc]
lea ebx, [eax + edx*4 + 0x10]
lea edi, [eax + ecx + 0x10]
add ebx, ecx
cmp edi, ebx
je 0x41728e
mov eax, dword [edi]
mov eax, dword [eax]
test eax, eax
je 0x417287
lea esp, [esp]
lea ecx, [esi + 8]
cmp eax, ecx
jb 0x4173a7
mov ecx, dword [esi + 4]
lea edx, [ecx + esi + 8]
lea ecx, [eax + 0xe]
cmp ecx, edx
ja 0x4173c0
movzx ecx, byte [eax + 0xd]
lea ebp, [ecx + eax + 0xe]
cmp ebp, edx
ja 0x4173dd
add ecx, 1
cmp ecx, 0x10000
jg 0x4173fa
mov eax, dword [eax + 9]
test eax, eax
jne 0x417240
mov ecx, dword [esp + 0x14]
add edi, 4
cmp edi, ebx
jne 0x417234
mov ecx, dword [ecx]
test ecx, ecx
mov dword [esp + 0x14], ecx
jne 0x417220
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x44
ret
add esi, 8
push esi
push eax
push str.if___d____d_:_Invalid_parent_pointer._n
push str.db::_load
push 0x18a8
jmp 0x416bfa
mov ecx, dword [esi + 4]
lea edx, [ecx + esi + 8]
push edx
push eax
push 0x493f74
push str.db::_load
push 0x18b3
jmp 0x416ab8
mov ecx, dword [esi + 4]
lea edx, [ecx + esi + 8]
push edx
push eax
push 0x493f74
push str.db::_load
push 0x18be
jmp 0x416ab8
movzx ecx, byte [eax]
push ecx
push ebx
push str.if___d____d_:_Invalid_parent_drive._n
push str.db::_load
push 0x18c8
jmp 0x416bfa
push ecx
push str.if___d___65536_:_full_path_to_file_exceeds_buffer_size._n
push str.db::_load
push 0x18d5
jmp 0x416c81
add esi, 8
push esi
push eax
push str.if___d____d_:_Invalid_parent_pointer._n
push str.db::_load
push 0x1905
jmp 0x416bfa
mov ecx, dword [esi + 4]
lea edx, [ecx + esi + 8]
push edx
push eax
push 0x493f74
push str.db::_load
push 0x1910
jmp 0x416ab8
mov ecx, dword [esi + 4]
lea edx, [ecx + esi + 8]
push edx
push eax
push 0x493f74
push str.db::_load
push 0x191b
jmp 0x416ab8
movzx ecx, byte [eax]
push ecx
push ebx
push str.if___d____d_:_Invalid_parent_drive._n
push str.db::_load
push 0x1925
jmp 0x416bfa
push ecx
push str.if___d___65536_:_full_path_to_file_exceeds_buffer_size._n
push str.db::_load
push 0x1931
jmp 0x416c81
add esi, 8
push esi
push eax
push str.if___d____d_:_Invalid_parent_pointer._n
push str.db::_load
push 0x195b
jmp 0x416bfa
mov ecx, dword [esi + 4]
lea edx, [ecx + esi + 8]
push edx
push eax
push 0x493f74
push str.db::_load
push 0x1966
jmp 0x416ab8
mov ecx, dword [esi + 4]
lea edx, [ecx + esi + 8]
push edx
push eax
push 0x493f74
push str.db::_load
push 0x1971
jmp 0x416ab8
push ecx
push str.if___d___65536_:_full_path_to_file_exceeds_buffer_size._n
push str.db::_load
push 0x197d
push str.._srcdb.cpp
call fcn.00430960
mov ecx, dword [esp + 0x6c]
neg ecx
sbb ecx, ecx
and ecx, 0xf
add ecx, 0xf
push 0
push ecx
call fcn.00435900
add esp, 0x1c
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x44
ret