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

Disassembly:
sub esp, 0x250
call fcn.0048dd50
cmp dword [0x58b30c], 0
mov dword [esp + 0x2c], eax
jne 0x40e917
cmp dword [0x58b310], 0
jne 0x40e917
push ebx
mov ebx, dword [esp + 0x258]
push str.db_save
push ebx
call fcn.0040c120
mov eax, dword [ebx + 0x2a0]
test eax, eax
jne 0x40db26
cmp dword [esp + 0x25c], eax
je 0x40db26
push eax
push ebx
call fcn.0041d0e0
mov ecx, dword [0x581de4]
mov edx, dword [ecx + 0xbc]
push edx
push ebx
call fcn.0040c8f0
add esp, 8
push ebx
call fcn.0043ac00
mov eax, dword [ebx + 0x70]
mov ecx, dword [ebx + 0x58]
push eax
push ecx
push str.db_save_local__d_folders___d_files_n
call fcn.0048dc10
mov edx, dword [ebx + 0x2a0]
add esp, 0xc
test edx, edx
je 0x40e8f2
push esi
push edi
lea eax, [esp + 0x3c]
push eax
call fcn.0051ec40
movsx ecx, byte [0x58b15f]
push ecx
push 1
lea esi, [esp + 0x44]
call fcn.00409f90
mov edx, dword [esp + 0x44]
push edx
call fcn.004a74e0
cmp byte [0x58b17c], 0
je 0x40dba9
mov eax, dword [esp + 0x44]
push eax
call fcn.00403930
mov edi, eax
mov dword [esp + 0x1c], edi
jmp 0x40dbb9
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004039c0
mov edi, eax
mov dword [esp + 0x1c], eax
test edi, edi
je 0x40e8c8
mov eax, dword [ebx + 0x58]
push ebp
xor ebp, ebp
test eax, eax
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x30], eax
je 0x40dc51
mov edx, eax
lea eax, [edx*4]
push eax
call fcn.004a2340
mov ebp, eax
xor eax, eax
cmp dword [ebx + 0x5c], eax
mov dword [esp + 0x2c], ebp
mov esi, ebp
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], eax
jle 0x40dc51
lea esp, [esp]
mov ecx, dword [ebx + 0x48]
mov edx, dword [ecx + eax*4]
mov ecx, dword [edx + 8]
mov ebp, dword [edx + 0xc]
lea eax, [ecx + edx]
lea ecx, [ecx + ebp*4]
add ecx, edx
cmp eax, ecx
je 0x40dc3d
mov edx, dword [esp + 0x10]
lea esp, [esp]
mov ebp, dword [eax]
mov ebp, dword [ebp]
mov dword [esi], ebp
mov ebp, dword [eax]
mov dword [ebp], edx
add eax, 4
add esi, 4
add edx, 1
cmp eax, ecx
jne 0x40dc20
mov dword [esp + 0x10], edx
mov eax, dword [esp + 0x14]
add eax, 1
cmp eax, dword [ebx + 0x5c]
mov dword [esp + 0x14], eax
jl 0x40dc00
mov ebp, dword [esp + 0x2c]
push 0x62445345
push edi
call fcn.00403ce0
push 0x1070014
push edi
call fcn.00403ce0
mov edx, dword [ebx + 0x34c]
push edx
push edi
call fcn.00403ce0
mov eax, dword [ebx + 0x58]
push eax
push edi
call fcn.00403ce0
mov ecx, dword [ebx + 0x70]
push ecx
push edi
call fcn.00403ce0
mov edx, dword [ebx + 0x1c]
push edx
push edi
call fcn.00403d00
mov esi, dword [ebx + 0x14]
test esi, esi
je 0x40dd74
lea ecx, [ecx]
mov eax, dword [esi + 8]
push eax
push edi
call fcn.00403d00
movzx ecx, byte [esi + 0x10]
push ecx
push edi
call fcn.00403cc0
mov eax, dword [esi + 8]
cmp eax, 3
ja case.default.0x40dcc1
jmp dword [eax*4 + 0x40e920]
mov edx, dword [esi + 0x14]
push edx
push edi
call fcn.00403d60
mov eax, dword [esi + 0x18]
push eax
push edi
call fcn.00403d60
mov ecx, dword [esi + 0x1c]
push ecx
push edi
call fcn.00403d60
mov edx, dword [esi + 0x20]
push edx
push edi
call fcn.00403d60
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x28]
push eax
push ecx
push edi
call fcn.00403da0
mov edx, dword [esi + 0x34]
mov eax, dword [esi + 0x30]
push edx
push eax
jmp 0x40dd64
mov ecx, dword [esi + 0x14]
push ecx
push edi
call fcn.00403d60
mov edx, dword [esi + 0x18]
push edx
push edi
call fcn.00403d60
mov eax, dword [esi + 0x1c]
push eax
push edi
call fcn.00403d60
mov ecx, dword [esi + 0x20]
push ecx
push edi
call fcn.00403d60
mov edx, dword [esi + 0x2c]
mov eax, dword [esi + 0x28]
push edx
push eax
push edi
call fcn.00403da0
jmp 0x40dd5c
mov eax, dword [esi + 0x18]
push eax
push edi
call fcn.00403d60
mov ecx, dword [esi + 0x24]
mov edx, dword [esi + 0x20]
jmp 0x40dd62
mov eax, dword [esi + 0x14]
push eax
push edi
call fcn.00403d60
mov ecx, dword [esi + 0x34]
mov edx, dword [esi + 0x30]
push ecx
push edx
push edi
call fcn.00403da0
mov esi, dword [esi]
test esi, esi
jne 0x40dca0
cmp dword [ebx + 0x340], 0
mov byte [esp + 0x1c], 0
je 0x40dd87
mov byte [esp + 0x1c], 1
cmp dword [ebx + 0x344], 0
je 0x40dd95
or byte [esp + 0x1c], 2
mov eax, dword [esp + 0x1c]
push eax
push edi
call fcn.00403cc0
mov ecx, dword [ebx + 0x32c]
push ecx
push edi
call fcn.0041de30
mov edx, dword [ebx + 0x330]
push edx
push edi
call fcn.0041de30
mov eax, dword [ebx + 0x334]
push eax
push edi
call fcn.0041de30
cmp dword [ebx + 0x5c], 0
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], 0
jle 0x40de48
lea esp, [esp]
mov ecx, dword [ebx + 0x48]
mov edx, dword [esp + 0x18]
mov eax, dword [ecx + edx*4]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
lea ebp, [ecx + edx*4]
lea esi, [ecx + eax]
add ebp, eax
cmp esi, ebp
je 0x40de38
lea esp, [esp]
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
test eax, eax
je 0x40de0e
mov eax, dword [eax]
jmp 0x40de25
mov eax, dword [esi]
cmp byte [eax + 4], 0xff
jne 0x40de1b
mov eax, dword [eax - 8]
jmp 0x40de1e
mov eax, dword [eax - 4]
mov eax, dword [eax + 4]
add eax, dword [esp + 0x30]
push eax
push edi
call fcn.00403ce0
add dword [esp + 0x14], 4
add esi, 4
cmp esi, ebp
jne 0x40de00
mov eax, dword [esp + 0x18]
add eax, 1
cmp eax, dword [ebx + 0x5c]
mov dword [esp + 0x18], eax
jl 0x40dde0
xor eax, eax
cmp dword [ebx + 0x5c], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], eax
jle 0x40dfc9
nop
mov ecx, dword [ebx + 0x48]
mov edx, dword [esp + 0x18]
mov eax, dword [ecx + edx*4]
mov ecx, dword [eax + 8]
mov esi, dword [eax + 0xc]
lea edx, [ecx + eax]
lea ecx, [ecx + esi*4]
add ecx, eax
cmp edx, ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x34], ecx
je 0x40dfb5
jmp 0x40de90
mov eax, dword [esp + 0x14]
mov edx, dword [eax]
mov esi, dword [esp + 0x2c]
mov ecx, edx
mov eax, dword [ecx]
cmp dword [esi + eax*4], 0
lea eax, [esi + eax*4]
je 0x40deb4
mov ecx, dword [eax]
mov eax, dword [ecx]
cmp dword [esi + eax*4], 0
lea eax, [esi + eax*4]
jne 0x40dea7
cmp byte [ecx + 4], 0xff
jne 0x40debf
mov ecx, dword [ecx - 8]
jmp 0x40dec2
mov ecx, dword [ecx - 4]
mov al, byte [edx + 4]
cmp al, 0xff
mov ecx, dword [ecx + 8]
mov dword [esp + 0x28], ecx
lea ebp, [edx + 5]
jne 0x40ded8
mov edi, dword [edx - 4]
jmp 0x40dedb
movzx edi, al
mov ecx, dword [esp + 0x1c]
cmp edi, ecx
mov eax, dword [esp + 0x10]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x1c], edi
jge 0x40def5
mov ecx, edi
xor esi, esi
test ecx, ecx
jle 0x40df14
jmp 0x40df00
mov dl, byte [ebp]
cmp dl, byte [eax]
jne 0x40df14
add esi, 1
add ebp, 1
add eax, 1
cmp esi, ecx
jl 0x40df00
mov eax, dword [esp + 0x20]
sub edi, esi
push edi
push eax
call fcn.00403d00
test edi, edi
je 0x40df42
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
sub eax, esi
push eax
push ecx
call fcn.00403d00
mov edx, dword [esp + 0x20]
push edi
push ebp
push edx
call fcn.00403b00
mov edi, dword [esp + 0x14]
mov eax, dword [edi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x40df59
mov ecx, dword [eax - 4]
lea eax, [ecx + eax + 5]
jmp 0x40df60
movzx edx, cl
lea eax, [edx + eax + 5]
mov ecx, dword [ebx + 0x354]
mov esi, dword [esp + 0x20]
push ecx
push eax
push esi
call fcn.00403b00
mov eax, dword [esp + 0x28]
test eax, eax
je 0x40df93
cmp eax, 3
jne 0x40dfa4
mov edx, dword [edi]
push 0x10
push edx
push ebx
call fcn.0042b680
push eax
push esi
call fcn.00403b00
jmp 0x40dfa4
mov eax, dword [edi]
push eax
push ebx
call fcn.0042b640
push edx
push eax
push esi
call fcn.00403da0
add edi, 4
cmp edi, dword [esp + 0x34]
mov dword [esp + 0x14], edi
jne 0x40de90
mov eax, dword [esp + 0x18]
add eax, 1
cmp eax, dword [ebx + 0x5c]
mov dword [esp + 0x18], eax
jl 0x40de60
xor ebp, ebp
cmp dword [ebx + 0x74], ebp
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], ebp
mov dword [esp + 0x10], ebp
jle 0x40e158
mov ecx, dword [ebx + 0x60]
mov edx, dword [esp + 0x10]
mov eax, dword [ecx + edx*4]
mov ecx, dword [eax + 8]
mov esi, dword [eax + 0xc]
lea edx, [ecx + eax]
lea ecx, [ecx + esi*4]
add ecx, eax
cmp edx, ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x38], ecx
je 0x40e142
mov esi, dword [esp + 0x14]
mov eax, dword [esi]
mov ecx, dword [eax]
test ecx, ecx
mov dword [esp + 0x34], ecx
je 0x40e048
mov eax, dword [ecx]
mov edx, dword [esp + 0x2c]
cmp dword [edx + eax*4], 0
lea eax, [edx + eax*4]
je 0x40e034
mov ecx, dword [eax]
mov eax, dword [ecx]
cmp dword [edx + eax*4], 0
lea eax, [edx + eax*4]
jne 0x40e027
cmp byte [ecx + 4], 0xff
jne 0x40e03f
mov ecx, dword [ecx - 8]
jmp 0x40e05a
mov edx, dword [ecx - 4]
mov dword [esp + 0x1c], edx
jmp 0x40e05e
cmp byte [eax + 4], 0xff
jne 0x40e057
mov eax, dword [eax - 8]
mov dword [esp + 0x1c], eax
jmp 0x40e05e
mov ecx, dword [eax - 4]
mov dword [esp + 0x1c], ecx
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
lea ebp, [eax + 5]
jne 0x40e070
mov esi, dword [eax - 4]
jmp 0x40e073
movzx esi, cl
mov edx, dword [esp + 0x24]
cmp esi, edx
mov edi, dword [esp + 0x28]
mov dword [esp + 0x28], ebp
mov dword [esp + 0x24], esi
jge 0x40e08f
mov ecx, esi
mov dword [esp + 0x18], ecx
jmp 0x40e095
mov ecx, edx
mov dword [esp + 0x18], edx
xor eax, eax
test ecx, ecx
jle 0x40e0b6
jmp 0x40e0a0
mov cl, byte [ebp]
cmp cl, byte [edi]
jne 0x40e0b6
add eax, 1
add ebp, 1
add edi, 1
cmp eax, dword [esp + 0x18]
jl 0x40e0a0
sub edx, eax
sub esi, eax
cmp dword [esp + 0x34], 0
mov dword [esp + 0x18], edx
je 0x40e0d1
mov edx, dword [esp + 0x14]
mov eax, dword [edx]
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x40e0dc
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + 4]
add eax, dword [esp + 0x30]
mov edi, dword [esp + 0x20]
push eax
push edi
call fcn.00403ce0
push esi
push edi
call fcn.00403d00
test esi, esi
je 0x40e105
mov edx, dword [esp + 0x18]
push edx
push edi
call fcn.00403d00
push esi
push ebp
push edi
call fcn.00403b00
mov esi, dword [esp + 0x14]
mov eax, dword [esi]
mov cl, byte [eax + 4]
cmp cl, 0xff
jne 0x40e11c
mov ecx, dword [eax - 4]
lea eax, [ecx + eax + 5]
jmp 0x40e123
movzx edx, cl
lea eax, [edx + eax + 5]
mov ecx, dword [ebx + 0x350]
push ecx
push eax
push edi
call fcn.00403b00
add esi, 4
cmp esi, dword [esp + 0x38]
mov dword [esp + 0x14], esi
jne 0x40e008
mov eax, dword [esp + 0x10]
add eax, 1
cmp eax, dword [ebx + 0x74]
mov dword [esp + 0x10], eax
jl 0x40dfe0
xor ebp, ebp
mov edx, dword [ebx + 0x2b4]
mov eax, dword [esp + 0x20]
push edx
push eax
call fcn.00403ce0
cmp dword [ebx + 0x2b8], ebp
jle 0x40e1b1
mov ecx, dword [ebx + 0x2a4]
mov eax, dword [ecx + ebp*4]
mov edi, dword [eax + 8]
mov edx, dword [eax + 0xc]
lea esi, [edi + eax]
lea edi, [edi + edx*4]
add edi, eax
cmp esi, edi
je 0x40e1a6
lea esp, [esp]
mov eax, dword [esi]
mov ecx, dword [eax]
mov edx, dword [esp + 0x20]
push ecx
push edx
call fcn.00403ce0
add esi, 4
cmp esi, edi
jne 0x40e190
add ebp, 1
cmp ebp, dword [ebx + 0x2b8]
jl 0x40e171
mov eax, dword [ebx + 0x2cc]
mov ebp, dword [esp + 0x20]
push eax
push ebp
call fcn.00403ce0
cmp dword [ebx + 0x2d0], 0
mov dword [esp + 0x10], 0
jle 0x40e217
mov ecx, dword [ebx + 0x2bc]
mov edx, dword [esp + 0x10]
mov eax, dword [ecx + edx*4]
mov edi, dword [eax + 8]
mov ecx, dword [eax + 0xc]
lea esi, [edi + eax]
lea edi, [edi + ecx*4]
add edi, eax
cmp esi, edi
je 0x40e204
mov edx, dword [esi]
mov eax, dword [edx]
push eax
push ebp
call fcn.00403ce0
add esi, 4
cmp esi, edi
jne 0x40e1f2
mov eax, dword [esp + 0x10]
add eax, 1
cmp eax, dword [ebx + 0x2d0]
mov dword [esp + 0x10], eax
jl 0x40e1d3
test dword [ebx + 0x34c], 0x2000
je 0x40e275
cmp dword [ebx + 0x8c], 0
mov dword [esp + 0x10], 0
jle 0x40e275
mov ecx, dword [ebx + 0x78]
mov edx, dword [esp + 0x10]
mov eax, dword [ecx + edx*4]
mov edi, dword [eax + 8]
mov ecx, dword [eax + 0xc]
lea esi, [edi + eax]
lea edi, [edi + ecx*4]
add edi, eax
cmp esi, edi
je 0x40e262
mov edx, dword [esi]
mov eax, dword [edx]
push eax
push ebp
call fcn.00403ce0
add esi, 4
cmp esi, edi
jne 0x40e250
mov eax, dword [esp + 0x10]
add eax, 1
cmp eax, dword [ebx + 0x8c]
mov dword [esp + 0x10], eax
jl 0x40e234
mov eax, dword [ebx + 0x34c]
test al, 0x20
je 0x40e2e5
test eax, 0x100
je 0x40e2e5
cmp dword [ebx + 0xbc], 0
mov dword [esp + 0x10], 0
jle 0x40e2e5
jmp 0x40e2a0
mov ecx, dword [ebx + 0xa8]
mov edx, dword [esp + 0x10]
mov eax, dword [ecx + edx*4]
mov edi, dword [eax + 8]
mov ecx, dword [eax + 0xc]
lea esi, [edi + eax]
lea edi, [edi + ecx*4]
add edi, eax
cmp esi, edi
je 0x40e2d2
nop
mov edx, dword [esi]
mov eax, dword [edx]
push eax
push ebp
call fcn.00403ce0
add esi, 4
cmp esi, edi
jne 0x40e2c0
mov eax, dword [esp + 0x10]
add eax, 1
cmp eax, dword [ebx + 0xbc]
mov dword [esp + 0x10], eax
jl 0x40e2a0
test dword [ebx + 0x34c], 0x200
je 0x40e346
cmp dword [ebx + 0xec], 0
mov dword [esp + 0x10], 0
jle 0x40e346
mov ecx, dword [ebx + 0xd8]
mov edx, dword [esp + 0x10]
mov eax, dword [ecx + edx*4]
mov edi, dword [eax + 8]
mov ecx, dword [eax + 0xc]
lea esi, [edi + eax]
lea edi, [edi + ecx*4]
add edi, eax
cmp esi, edi
je 0x40e333
mov edx, dword [esi]
mov eax, dword [edx]
push eax
push ebp
call fcn.00403ce0
add esi, 4
cmp esi, edi
jne 0x40e321
mov eax, dword [esp + 0x10]
add eax, 1
cmp eax, dword [ebx + 0xec]
mov dword [esp + 0x10], eax
jl 0x40e302
test dword [ebx + 0x34c], 0x400
je 0x40e3a7
cmp dword [ebx + 0x11c], 0
mov dword [esp + 0x10], 0
jle 0x40e3a7
mov ecx, dword [ebx + 0x108]
mov edx, dword [esp + 0x10]
mov eax, dword [ecx + edx*4]
mov edi, dword [eax + 8]
mov ecx, dword [eax + 0xc]
lea esi, [edi + eax]
lea edi, [edi + ecx*4]
add edi, eax
cmp esi, edi
je 0x40e394
mov edx, dword [esi]
mov eax, dword [edx]
push eax
push ebp
call fcn.00403ce0
add esi, 4
cmp esi, edi
jne 0x40e382
mov eax, dword [esp + 0x10]
add eax, 1
cmp eax, dword [ebx + 0x11c]
mov dword [esp + 0x10], eax
jl 0x40e363
test dword [ebx + 0x34c], 0x800
je 0x40e415
cmp dword [ebx + 0x14c], 0
mov dword [esp + 0x10], 0
jle 0x40e415
jmp 0x40e3d0
mov ecx, dword [ebx + 0x138]
mov edx, dword [esp + 0x10]
mov eax, dword [ecx + edx*4]
mov edi, dword [eax + 8]
mov ecx, dword [eax + 0xc]
lea esi, [edi + eax]
lea edi, [edi + ecx*4]
add edi, eax
cmp esi, edi
je 0x40e402
nop
mov edx, dword [esi]
mov eax, dword [edx]
push eax
push ebp
call fcn.00403ce0
add esi, 4
cmp esi, edi
jne 0x40e3f0
mov eax, dword [esp + 0x10]
add eax, 1
cmp eax, dword [ebx + 0x14c]
mov dword [esp + 0x10], eax
jl 0x40e3d0
test dword [ebx + 0x34c], 0x1000
je 0x40e476
cmp dword [ebx + 0x17c], 0
mov dword [esp + 0x10], 0
jle 0x40e476
mov ecx, dword [ebx + 0x168]
mov edx, dword [esp + 0x10]
mov eax, dword [ecx + edx*4]
mov edi, dword [eax + 8]
mov ecx, dword [eax + 0xc]
lea esi, [edi + eax]
lea edi, [edi + ecx*4]
add edi, eax
cmp esi, edi
je 0x40e463
mov edx, dword [esi]
mov eax, dword [edx]
push eax
push ebp
call fcn.00403ce0
add esi, 4
cmp esi, edi
jne 0x40e451
mov eax, dword [esp + 0x10]
add eax, 1
cmp eax, dword [ebx + 0x17c]
mov dword [esp + 0x10], eax
jl 0x40e432
test dword [ebx + 0x34c], 0x7f00
je 0x40e81a
mov eax, dword [ebx + 0x70]
test eax, eax
je 0x40e81a
lea ecx, [eax*4]
push ecx
call fcn.004a2340
mov dword [esp + 0x28], eax
mov esi, eax
xor eax, eax
xor edi, edi
cmp dword [ebx + 0x74], eax
mov dword [esp + 0x24], eax
jle 0x40e4fb
mov edx, dword [ebx + 0x60]
mov edx, dword [edx + eax*4]
mov ecx, dword [edx + 8]
mov ebp, dword [edx + 0xc]
lea eax, [ecx + edx]
lea ecx, [ecx + ebp*4]
add ecx, edx
cmp eax, ecx
je 0x40e4e7
lea esp, [esp]
mov edx, dword [eax]
mov edx, dword [edx]
mov dword [esi], edx
mov edx, dword [eax]
mov dword [edx], edi
add eax, 4
add esi, 4
add edi, 1
cmp eax, ecx
jne 0x40e4d0
mov eax, dword [esp + 0x24]
add eax, 1
cmp eax, dword [ebx + 0x74]
mov dword [esp + 0x24], eax
jl 0x40e4b1
mov ebp, dword [esp + 0x20]
test dword [ebx + 0x34c], 0x2000
je 0x40e565
cmp dword [ebx + 0xa4], 0
mov dword [esp + 0x10], 0
jle 0x40e565
jmp 0x40e520
mov eax, dword [ebx + 0x90]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + ecx*4]
mov edi, dword [eax + 8]
mov edx, dword [eax + 0xc]
lea esi, [edi + eax]
lea edi, [edi + edx*4]
add edi, eax
cmp esi, edi
je 0x40e552
nop
mov eax, dword [esi]
mov ecx, dword [eax]
push ecx
push ebp
call fcn.00403ce0
add esi, 4
cmp esi, edi
jne 0x40e540
mov eax, dword [esp + 0x10]
add eax, 1
cmp eax, dword [ebx + 0xa4]
mov dword [esp + 0x10], eax
jl 0x40e520
test dword [ebx + 0x34c], 0x100
je 0x40e5c6
cmp dword [ebx + 0xd4], 0
mov dword [esp + 0x10], 0
jle 0x40e5c6
mov edx, dword [ebx + 0xc0]
mov eax, dword [esp + 0x10]
mov eax, dword [edx + eax*4]
mov edi, dword [eax + 8]
mov ecx, dword [eax + 0xc]
lea esi, [edi + eax]
lea edi, [edi + ecx*4]
add edi, eax
cmp esi, edi
je 0x40e5b3
mov edx, dword [esi]
mov eax, dword [edx]
push eax
push ebp
call fcn.00403ce0
add esi, 4
cmp esi, edi
jne 0x40e5a1
mov eax, dword [esp + 0x10]
add eax, 1
cmp eax, dword [ebx + 0xd4]
mov dword [esp + 0x10], eax
jl 0x40e582
test dword [ebx + 0x34c], 0x200
je 0x40e627
cmp dword [ebx + 0x104], 0
mov dword [esp + 0x10], 0
jle 0x40e627
mov ecx, dword [ebx + 0xf0]
mov edx, dword [esp + 0x10]
mov eax, dword [ecx + edx*4]
mov edi, dword [eax + 8]
mov ecx, dword [eax + 0xc]
lea esi, [edi + eax]
lea edi, [edi + ecx*4]
add edi, eax
cmp esi, edi
je 0x40e614
mov edx, dword [esi]
mov eax, dword [edx]
push eax
push ebp
call fcn.00403ce0
add esi, 4
cmp esi, edi
jne 0x40e602
mov eax, dword [esp + 0x10]
add eax, 1
cmp eax, dword [ebx + 0x104]
mov dword [esp + 0x10], eax
jl 0x40e5e3
test dword [ebx + 0x34c], 0x400
je 0x40e695
cmp dword [ebx + 0x134], 0
mov dword [esp + 0x10], 0
jle 0x40e695
jmp 0x40e650
mov ecx, dword [ebx + 0x120]
mov edx, dword [esp + 0x10]
mov eax, dword [ecx + edx*4]
mov edi, dword [eax + 8]
mov ecx, dword [eax + 0xc]
lea esi, [edi + eax]
lea edi, [edi + ecx*4]
add edi, eax
cmp esi, edi
je 0x40e682
nop
mov edx, dword [esi]
mov eax, dword [edx]
push eax
push ebp
call fcn.00403ce0
add esi, 4
cmp esi, edi
jne 0x40e670
mov eax, dword [esp + 0x10]
add eax, 1
cmp eax, dword [ebx + 0x134]
mov dword [esp + 0x10], eax
jl 0x40e650
test dword [ebx + 0x34c], 0x800
je 0x40e6f6
cmp dword [ebx + 0x164], 0
mov dword [esp + 0x10], 0
jle 0x40e6f6
mov ecx, dword [ebx + 0x150]
mov edx, dword [esp + 0x10]
mov eax, dword [ecx + edx*4]
mov edi, dword [eax + 8]
mov ecx, dword [eax + 0xc]
lea esi, [edi + eax]
lea edi, [edi + ecx*4]
add edi, eax
cmp esi, edi
je 0x40e6e3
mov edx, dword [esi]
mov eax, dword [edx]
push eax
push ebp
call fcn.00403ce0
add esi, 4
cmp esi, edi
jne 0x40e6d1
mov eax, dword [esp + 0x10]
add eax, 1
cmp eax, dword [ebx + 0x164]
mov dword [esp + 0x10], eax
jl 0x40e6b2
test dword [ebx + 0x34c], 0x1000
je 0x40e757
cmp dword [ebx + 0x194], 0
mov dword [esp + 0x10], 0
jle 0x40e757
mov ecx, dword [ebx + 0x180]
mov edx, dword [esp + 0x10]
mov eax, dword [ecx + edx*4]
mov edi, dword [eax + 8]
mov ecx, dword [eax + 0xc]
lea esi, [edi + eax]
lea edi, [edi + ecx*4]
add edi, eax
cmp esi, edi
je 0x40e744
mov edx, dword [esi]
mov eax, dword [edx]
push eax
push ebp
call fcn.00403ce0
add esi, 4
cmp esi, edi
jne 0x40e732
mov eax, dword [esp + 0x10]
add eax, 1
cmp eax, dword [ebx + 0x194]
mov dword [esp + 0x10], eax
jl 0x40e713
test dword [ebx + 0x34c], 0x4000
je 0x40e7c5
cmp dword [ebx + 0x1ac], 0
mov dword [esp + 0x10], 0
jle 0x40e7c5
jmp 0x40e780
mov ecx, dword [ebx + 0x198]
mov edx, dword [esp + 0x10]
mov eax, dword [ecx + edx*4]
mov edi, dword [eax + 8]
mov ecx, dword [eax + 0xc]
lea esi, [edi + eax]
lea edi, [edi + ecx*4]
add edi, eax
cmp esi, edi
je 0x40e7b2
nop
mov edx, dword [esi]
mov eax, dword [edx]
push eax
push ebp
call fcn.00403ce0
add esi, 4
cmp esi, edi
jne 0x40e7a0
mov eax, dword [esp + 0x10]
add eax, 1
cmp eax, dword [ebx + 0x1ac]
mov dword [esp + 0x10], eax
jl 0x40e780
mov esi, dword [esp + 0x28]
xor eax, eax
cmp dword [ebx + 0x74], eax
mov dword [esp + 0x24], eax
jle 0x40e810
mov ecx, dword [ebx + 0x60]
mov edx, dword [ecx + eax*4]
mov ecx, dword [edx + 8]
mov edi, dword [edx + 0xc]
lea eax, [ecx + edx]
lea ecx, [ecx + edi*4]
add ecx, edx
cmp eax, ecx
je 0x40e800
lea esp, [esp]
mov edx, dword [eax]
mov edi, dword [esi]
add eax, 4
add esi, 4
cmp eax, ecx
mov dword [edx], edi
jne 0x40e7f0
mov eax, dword [esp + 0x24]
add eax, 1
cmp eax, dword [ebx + 0x74]
mov dword [esp + 0x24], eax
jl 0x40e7d4
mov eax, dword [esp + 0x28]
push eax
call fcn.004a23a0
mov esi, dword [esp + 0x2c]
xor edi, edi
cmp dword [ebx + 0x5c], edi
jle 0x40e860
mov ecx, dword [ebx + 0x48]
mov edx, dword [ecx + edi*4]
mov ecx, dword [edx + 8]
mov ebp, dword [edx + 0xc]
lea eax, [ecx + edx]
lea ecx, [ecx + ebp*4]
add ecx, edx
cmp eax, ecx
je 0x40e850
lea ecx, [ecx]
mov edx, dword [eax]
mov ebp, dword [esi]
add eax, 4
add esi, 4
cmp eax, ecx
mov dword [edx], ebp
jne 0x40e840
add edi, 1
cmp edi, dword [ebx + 0x5c]
jl 0x40e825
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x2c]
test esi, esi
je 0x40e86a
push esi
call fcn.004a23a0
push ebp
call fcn.00403dc0
test eax, eax
pop ebp
je 0x40e8c8
lea eax, [esp + 0x14c]
push eax
xor edi, edi
call fcn.0051ec40
movsx ecx, byte [0x58b15f]
push ecx
push edi
lea esi, [esp + 0x154]
call fcn.00409f90
mov edx, dword [esp + 0x154]
mov eax, dword [esp + 0x44]
push edi
push 1
push edx
push eax
call fcn.004a7370
test eax, eax
je 0x40e8b7
mov edi, 1
lea ecx, [esp + 0x14c]
push ecx
call fcn.00522920
test edi, edi
jne 0x40e8e6
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [esp + 0x44]
push eax
push edx
push str.failed_to_save__s__d_n
push 0xffff0000
call fcn.0048dc30
add esp, 0x10
lea eax, [esp + 0x3c]
push eax
call fcn.00522920
pop edi
pop esi
call fcn.0048dd50
sub eax, dword [esp + 0x30]
push eax
push str.saved_db:__f_seconds_n
push 0xff0000ff
call fcn.0048dc30
push 0
push ebx
call fcn.0040c8f0
add esp, 0x14
pop ebx
add esp, 0x250
ret 8