Function at 0x405d40
Capabilities:
Check if file exists
Enumerate gui resources
Get common file path

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x473953
push eax
mov eax, 0x1b38
mov dword fs:[0], esp
call fcn.0044e830
push ebx
push esi
push edi
xor eax, eax
push 0x1fe
push eax
mov word [ebp - 0x820], ax
lea eax, [ebp - 0x81e]
push eax
call fcn.0044ecf0
mov edi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
add esp, 0xc
push dword [0x4a4750]
call edi
mov ebx, dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
lea eax, [ebp - 0x220]
jne 0x405fd7
push eax
push 0x4046b0
call dword [sym.imp.USER32.dll_EnumWindows]
lea eax, [ebp - 0x220]
push eax
call edi
test eax, eax
jne 0x405faf
push eax
push 2
lea eax, [ebp - 0x1220]
push eax
push 0
call ebx
push 0
push 0x17
lea eax, [ebp - 0x1944]
push eax
push 0
call ebx
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea eax, [ebp - 0x1220]
push eax
lea eax, [ebp - 0x1420]
push eax
call ebx
lea eax, [ebp - 0x1220]
push eax
lea eax, [ebp - 0x1020]
push eax
call ebx
lea eax, [ebp - 0x1220]
push eax
lea eax, [ebp - 0xa20]
push eax
call ebx
lea eax, [ebp - 0x1944]
push eax
lea eax, [ebp - 0xc20]
push eax
call ebx
lea eax, [ebp - 0x1944]
push eax
lea eax, [ebp - 0xe20]
push eax
call ebx
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatW]
push 0x47dc68
lea eax, [ebp - 0x1420]
push eax
call esi
push 0x47dc94
lea eax, [ebp - 0x1020]
push eax
call esi
push 0x47dcc8
lea eax, [ebp - 0xa20]
push eax
call esi
push 0x47dcf4
lea eax, [ebp - 0xc20]
push eax
call esi
push 0x47dc68
lea eax, [ebp - 0xe20]
push eax
call esi
lea eax, [ebp - 0x1420]
push eax
call edi
test eax, eax
je 0x405eab
push 0
lea eax, [ebp - 0x820]
push eax
lea eax, [ebp - 0x1420]
push eax
call fcn.004674f0
add esp, 0xc
jmp 0x405f50
lea eax, [ebp - 0x1020]
push eax
call edi
test eax, eax
je 0x405ed2
push 0
lea eax, [ebp - 0x820]
push eax
lea eax, [ebp - 0x1020]
push eax
call fcn.004674f0
add esp, 0xc
jmp 0x405f50
lea eax, [ebp - 0xa20]
push eax
call edi
test eax, eax
je 0x405ef9
push 0
lea eax, [ebp - 0x820]
push eax
lea eax, [ebp - 0xa20]
push eax
call fcn.004674f0
add esp, 0xc
jmp 0x405f50
lea eax, [ebp - 0xc20]
push eax
call edi
test eax, eax
je 0x405f20
push 0
lea eax, [ebp - 0x820]
push eax
lea eax, [ebp - 0xc20]
push eax
call fcn.004674f0
add esp, 0xc
jmp 0x405f50
lea eax, [ebp - 0xe20]
push eax
call edi
test eax, eax
lea eax, [ebp - 0x820]
je 0x405f47
push 0
push eax
lea eax, [ebp - 0xe20]
push eax
call fcn.004674f0
add esp, 0xc
jmp 0x405f50
push eax
call fcn.00407110
add esp, 4
push 0x100
lea eax, [ebp - 0x220]
push eax
lea eax, [ebp - 0x820]
push eax
call dword [sym.imp.KERNEL32.dll_GetLongPathNameW]
lea eax, [ebp - 0x220]
push eax
call edi
test eax, eax
jne 0x405faf
push str.TypePath
lea eax, [ebp - 0x620]
push eax
call ebx
push 0
lea eax, [ebp - 0x620]
push eax
push str.SOFTWARETencentPlatForm_Type_List1
push reloc.WS2_32.dll_accept
call fcn.004679a0
add esp, 0x10
lea eax, [ebp - 0x620]
push eax
lea eax, [ebp - 0x220]
push eax
call ebx
lea eax, [ebp - 0x220]
push eax
call edi
test eax, eax
jne 0x405fe4
push eax
push 0x47dd84
lea eax, [ebp - 0x220]
push eax
push dword [0x4a3ec0]
call dword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x405fe4
push dword [0x4a4750]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
xor eax, eax
push 0x1fe
push eax
mov word [ebp - 0x420], ax
lea eax, [ebp - 0x41e]
push eax
call fcn.0044ecf0
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x220]
push str.LegalCopyright
push eax
call fcn.00466c90
mov ebx, dword [sym.imp.SHLWAPI.dll_StrStrW]
add esp, 0x18
lea eax, [ebp - 0x420]
push 0x47ddb4
push eax
call ebx
mov ecx, dword [0x4a3eac]
test eax, eax
mov edx, 1
push str.2013
lea eax, [ebp - 0x420]
cmovne ecx, edx
push eax
mov dword [0x4a3eac], ecx
call ebx
test eax, eax
jne 0x4060a3
push str.2014
lea eax, [ebp - 0x420]
push eax
call ebx
test eax, eax
jne 0x4060a3
push str.2012
lea eax, [ebp - 0x420]
push eax
call ebx
test eax, eax
jne 0x4060a3
push 0x47ddb4
lea eax, [ebp - 0x420]
push eax
call ebx
test eax, eax
jne 0x4060a3
lea eax, [ebp - 0x220]
push eax
call fcn.00405b10
add esp, 4
test eax, eax
je 0x4061df
push str.2013
lea eax, [ebp - 0x420]
push eax
call ebx
test eax, eax
jne 0x4060c7
push str.2014
lea eax, [ebp - 0x420]
push eax
call ebx
test eax, eax
je 0x4060d1
mov dword [0x4a3eb4], 1
lea eax, [ebp - 0x220]
push 0x4a471c
push eax
call fcn.00406a70
mov eax, dword [0x4a471c]
add esp, 8
or ebx, 0xffffffff
cmp dword [eax - 0xc], 0
jne 0x406292
mov ecx, 0x3e
mov esi, 0x47dde8
lea edi, [ebp - 0x1b44]
rep movsd dword es:[edi], dword [esi]
push 0x106
lea eax, [ebp - 0x1a4a]
push 0
push eax
movsw word es:[edi], word [esi]
call fcn.0044ecf0
add esp, 0xc
lea eax, [ebp - 0x1b44]
push 1
push 0x47dbe0
push eax
push dword [0x4a3ec0]
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 1
jne 0x40628c
movq xmm0, qword [0x47dc2c]
mov ax, word [0x47dc44]
movq qword [ebp - 0x620], xmm0
movq xmm0, qword [0x47dc34]
push 0x1e6
mov word [ebp - 0x608], ax
movq qword [ebp - 0x618], xmm0
movq xmm0, qword [0x47dc3c]
lea eax, [ebp - 0x606]
push 0
push eax
movq qword [ebp - 0x610], xmm0
call fcn.0044ecf0
add esp, 0xc
lea eax, [ebp - 0x620]
push 1
push 0
push 0
push eax
push 6
push 0x47dc48
push 0
push 1
lea ecx, [ebp - 0x1744]
call fcn.0042b94b
lea ecx, [ebp - 0x1744]
mov dword [ebp - 4], 0
call fcn.0042c1ac
lea ecx, [ebp - 0x1744]
cmp eax, 1
je 0x4061f2
mov dword [ebp - 4], ebx
call fcn.0042b88c
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x14]
push eax
call fcn.0042c2db
push dword [eax]
lea eax, [ebp - 0x220]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
mov edx, dword [ebp - 0x14]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x406226
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebp - 0x220]
push 0x4a471c
push eax
call fcn.00406a70
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x220]
push str.LegalCopyright
push eax
call fcn.00466c90
add esp, 0x14
lea eax, [ebp - 0x420]
push 0x47ddb4
push eax
call dword [sym.imp.SHLWAPI.dll_StrStrW]
mov ecx, dword [0x4a3eac]
test eax, eax
mov eax, 1
cmovne ecx, eax
mov dword [0x4a3eac], ecx
lea ecx, [ebp - 0x1744]
mov dword [ebp - 4], 0xffffffff
call fcn.0042b88c
mov edi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov eax, dword [0x4a471c]
cmp dword [eax - 0xc], 0
je 0x4061df
push 0
push 5
push 0x4a4940
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
call fcn.00429930
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x4062ce
push 0x80004005
call fcn.00402670
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], 1
call fcn.00429930
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x4062fe
push 0x80004005
call fcn.00402670
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x20], eax
mov byte [ebp - 4], 2
call fcn.00429930
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x40632b
push 0x80004005
call fcn.00402670
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x1c], eax
push 1
push 0x47da80
push 0
lea eax, [ebp - 0x18]
push eax
push dword [0x4a471c]
mov byte [ebp - 4], 3
call fcn.00466df0
push str.MiscLoginPanel
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.00402190
add esp, 0x20
push eax
mov ecx, 0x4a4724
mov byte [ebp - 4], 4
call fcn.00401e70
mov edx, dword [ebp - 0x14]
add edx, 0xfffffff0
mov byte [ebp - 4], 3
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x406398
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push str.PluginCom.Tencent.QPlus
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.00402190
add esp, 0xc
push eax
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 5
call fcn.00401e70
mov edx, dword [ebp - 0x14]
add edx, 0xfffffff0
mov byte [ebp - 4], 3
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4063da
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push str.PluginCom.Tencent.QQVip
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.00402190
add esp, 0xc
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 6
call fcn.00401e70
mov edx, dword [ebp - 0x14]
add edx, 0xfffffff0
mov byte [ebp - 4], 3
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40641c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.004691e0
test eax, eax
je 0x4064bd
push str.UsersAll_UsersQQMisccom.tencent.qqvipContactInfoCardSkin
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.00402190
add esp, 0xc
push dword [ebp - 0x14]
mov byte [ebp - 4], 7
call edi
test eax, eax
je 0x40649d
lea eax, [ebp - 0x14]
push eax
mov ecx, 0x4a4780
call fcn.00401e70
push str.UsersAll_UsersQQRegistry.db
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.00402190
add esp, 0xc
push eax
mov ecx, 0x4a4784
mov byte [ebp - 4], 8
call fcn.00401e70
mov edx, dword [ebp - 0x10]
add edx, 0xfffffff0
mov byte [ebp - 4], 7
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40649d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x14]
add edx, 0xfffffff0
mov byte [ebp - 4], 3
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4064bd
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [0x4a4780]
cmp dword [eax - 0xc], 0
jne 0x406540
mov edx, 0x4a4940
lea ecx, [edx + 2]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x4064d0
sub edx, ecx
sar edx, 1
push edx
push 0x4a4940
mov ecx, 0x4a4780
call fcn.00408f60
push 0x46
push str.Tencent_FilesAll_UsersQQMisccom.tencent.qqvipContactInfoCardSkin
mov ecx, 0x4a4780
call fcn.00402570
mov edx, 0x4a4940
lea ecx, [edx + 2]
jmp 0x406510
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x406510
sub edx, ecx
sar edx, 1
push edx
push 0x4a4940
mov ecx, 0x4a4784
call fcn.00408f60
push 0x27
push str.Tencent_FilesAll_UsersQQRegistry.db
mov ecx, 0x4a4784
call fcn.00402570
push 0xa
push str.I18N2052
lea ecx, [ebp - 0x18]
call fcn.00402570
lea eax, [ebp - 0x18]
push eax
mov ecx, 0x4a4720
call fcn.00401e70
push str.Themesdefault.rdb
lea eax, [ebp - 0x10]
push 0x4a471c
push eax
call fcn.00402190
add esp, 0xc
push eax
mov ecx, 0x4a4774
mov byte [ebp - 4], 9
call fcn.00401e70
mov edx, dword [ebp - 0x10]
add edx, 0xfffffff0
mov byte [ebp - 4], 3
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4065a2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push str._res.rdb
lea eax, [ebp - 0x10]
push 0x4a471c
push eax
call fcn.00402190
add esp, 0xc
push eax
mov ecx, 0x4a4770
mov byte [ebp - 4], 0xa
call fcn.00401e70
mov edx, dword [ebp - 0x10]
add edx, 0xfffffff0
mov byte [ebp - 4], 3
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4065e7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push str.xtml.rdb
lea eax, [ebp - 0x10]
push 0x4a471c
push eax
call fcn.00402190
add esp, 0xc
push eax
mov ecx, 0x4a476c
mov byte [ebp - 4], 0xb
call fcn.00401e70
mov edx, dword [ebp - 0x10]
add edx, 0xfffffff0
mov byte [ebp - 4], 3
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40662c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push str.Bundle.rdb
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.00402190
add esp, 0xc
push eax
mov ecx, 0x4a4778
mov byte [ebp - 4], 0xc
call fcn.00401e70
mov edx, dword [ebp - 0x10]
add edx, 0xfffffff0
mov byte [ebp - 4], 3
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x406670
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push str.Bundle.rdb
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.00402190
add esp, 0xc
push eax
mov ecx, 0x4a477c
mov byte [ebp - 4], 0xd
call fcn.00401e70
mov edx, dword [ebp - 0x10]
add edx, 0xfffffff0
mov byte [ebp - 4], 3
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4066b4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push str.StringBundle.xml
lea eax, [ebp - 0x10]
push 0x4a4720
push eax
call fcn.00402190
add esp, 0xc
push eax
mov ecx, 0x4a46fc
mov byte [ebp - 4], 0xe
call fcn.00401e70
mov edx, dword [ebp - 0x10]
add edx, 0xfffffff0
mov byte [ebp - 4], 3
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4066f9
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push str.PreLoadStringBundle.xml
lea eax, [ebp - 0x10]
push 0x4a4720
push eax
call fcn.00402190
add esp, 0xc
push eax
mov ecx, 0x4a4700
mov byte [ebp - 4], 0xf
call fcn.00401e70
mov edx, dword [ebp - 0x10]
add edx, 0xfffffff0
mov byte [ebp - 4], 3
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40673e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push str.cfsoft_old_fringe_bkg.png.gft
lea eax, [ebp - 0x10]
push 0x4a4724
push eax
call fcn.00402190
add esp, 0xc
push eax
mov ecx, 0x4a474c
mov byte [ebp - 4], 0x10
call fcn.00401e70
mov edx, dword [ebp - 0x10]
add edx, 0xfffffff0
mov byte [ebp - 4], 3
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x406783
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push str.Themescfsoft_org_default.rdb
lea eax, [ebp - 0x10]
push 0x4a471c
push eax
call fcn.00402190
add esp, 0xc
push eax
mov ecx, 0x4a4714
mov byte [ebp - 4], 0x11
call fcn.00401e70
mov edx, dword [ebp - 0x10]
add edx, 0xfffffff0
mov byte [ebp - 4], 3
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4067c8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push str.cfsoft_org_xtml.rdb
lea eax, [ebp - 0x10]
push 0x4a471c
push eax
call fcn.00402190
add esp, 0xc
push eax
mov ecx, 0x4a470c
mov byte [ebp - 4], 0x12
call fcn.00401e70
mov edx, dword [ebp - 0x10]
add edx, 0xfffffff0
mov byte [ebp - 4], 3
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40680d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push str.cfsoft_org_bundle.rdb
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.00402190
add esp, 0xc
push eax
mov ecx, 0x4a4704
mov byte [ebp - 4], 0x13
call fcn.00401e70
mov edx, dword [ebp - 0x10]
add edx, 0xfffffff0
mov byte [ebp - 4], 3
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x406851
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push str.cfsoft_org_bundle.rdb
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.00402190
add esp, 0xc
push eax
mov ecx, 0x4a4708
mov byte [ebp - 4], 0x14
call fcn.00401e70
mov edx, dword [ebp - 0x10]
add edx, 0xfffffff0
mov byte [ebp - 4], 3
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x406895
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push str.cfsoft_org_res.rdb
lea eax, [ebp - 0x10]
push 0x4a471c
push eax
call fcn.00402190
add esp, 0xc
push eax
mov ecx, 0x4a4710
mov byte [ebp - 4], 0x15
call fcn.00401e70
mov edx, dword [ebp - 0x10]
add edx, 0xfffffff0
mov byte [ebp - 4], 3
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4068da
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push str.cfsoft_org_fringe_bkg.png.gft
lea eax, [ebp - 0x10]
push 0x4a4724
push eax
call fcn.00402190
add esp, 0xc
push eax
mov ecx, 0x4a4718
mov byte [ebp - 4], 0x16
call fcn.00401e70
mov edx, dword [ebp - 0x10]
add edx, 0xfffffff0
mov byte [ebp - 4], 3
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40691f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push str.cfsoft_old_StringBundle.xml
lea eax, [ebp - 0x10]
push 0x4a4720
push eax
call fcn.00402190
add esp, 0xc
push eax
mov ecx, 0x4a46f4
mov byte [ebp - 4], 0x17
call fcn.00401e70
mov edx, dword [ebp - 0x10]
add edx, 0xfffffff0
mov byte [ebp - 4], 3
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x406964
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push str.cfsoft_old_PreLoadStringBundle.xml
lea eax, [ebp - 0x10]
push 0x4a4720
push eax
call fcn.00402190
add esp, 0xc
push eax
mov ecx, 0x4a46f8
mov byte [ebp - 4], 0x18
call fcn.00401e70
mov edx, dword [ebp - 0x10]
add edx, 0xfffffff0
mov byte [ebp - 4], 3
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4069a9
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push str._fringe_bkg.png.gft
lea eax, [ebp - 0x10]
push 0x4a4724
push eax
call fcn.00402190
add esp, 0xc
push eax
mov ecx, 0x4a4764
mov byte [ebp - 4], 0x19
call fcn.00401e70
mov edx, dword [ebp - 0x10]
add edx, 0xfffffff0
mov byte [ebp - 4], 3
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4069ee
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x1c]
add edx, 0xfffffff0
mov byte [ebp - 4], 2
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x406a0e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x20]
add edx, 0xfffffff0
mov byte [ebp - 4], 1
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x406a2e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x18]
add esi, 0xfffffff0
mov dword [ebp - 4], 0xffffffff
lea eax, [esi + 0xc]
lock xadd dword [eax], ebx
dec ebx
test ebx, ebx
jg 0x406a4f
mov ecx, dword [esi]
push esi
mov edx, dword [ecx]
call dword [edx + 4]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov eax, 1
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret