Function at 0x411410
Capabilities:
Read .ini file

Disassembly:
push 0xffffffffffffffff
push 0x51d80e
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x338
mov eax, dword [0x565e78]
push ebx
push ebp
mov ebp, dword [esp + 0x350]
push esi
push edi
mov dword [esp + 0x344], eax
call fcn.00410e90
mov eax, dword [eax]
sub eax, 0x10
push eax
call fcn.00401c20
lea esi, [eax + 0x10]
add esp, 4
mov dword [esp + 0x30], esi
push str.public
lea ecx, [esp + 0x14]
mov dword [esp + 0x354], 0
call fcn.00402030
push esi
push 0xa
mov byte [esp + 0x358], 1
mov eax, dword [esp + 0x18]
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push str.areaId
push eax
call edi
mov ecx, dword [esp + 0x10]
push esi
push 0
push str.areaIdVV
push ecx
mov dword [ebp + 0xd0], eax
call edi
mov edx, dword [esp + 0x10]
push esi
push 0
push str.shield
push edx
mov dword [ebp + 0xd4], eax
call edi
mov ecx, dword [esp + 0x10]
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push esi
push 0x104
mov dword [ebp + 0x114], eax
lea eax, [esp + 0x48]
push eax
push str.1.0.0.0
push str.version
push ecx
call ebx
lea eax, [esp + 0x40]
lea edi, [ebp + 0xd8]
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4114f1
sub eax, ecx
push eax
lea edx, [esp + 0x44]
push edx
mov ecx, edi
call fcn.00401f00
mov ecx, dword [esp + 0x10]
push esi
push 0x104
lea eax, [esp + 0x48]
push eax
push str.hall
push str.setupName
push ecx
call ebx
lea eax, [esp + 0x40]
lea edi, [ebp + 0xdc]
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x411530
sub eax, ecx
push eax
lea edx, [esp + 0x44]
push edx
mov ecx, edi
call fcn.00401f00
mov ecx, dword [esp + 0x10]
push esi
push 0x104
lea eax, [esp + 0x48]
push eax
push 0x53a3bc
push str.title
push ecx
call ebx
lea eax, [esp + 0x40]
lea edi, [ebp + 0xe0]
lea ecx, [eax + 1]
nop
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x411570
sub eax, ecx
push eax
lea edx, [esp + 0x44]
push edx
mov ecx, edi
call fcn.00401f00
mov ecx, dword [esp + 0x10]
push esi
push 0x104
lea eax, [esp + 0x48]
push eax
push str.about:blank
push str.titleAd
push ecx
call ebx
lea eax, [esp + 0x40]
lea edi, [ebp + 0xe4]
lea ecx, [eax + 1]
nop
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4115b0
sub eax, ecx
push eax
lea edx, [esp + 0x44]
push edx
mov ecx, edi
call fcn.00401f00
mov ecx, dword [esp + 0x10]
push esi
push 0x104
lea eax, [esp + 0x48]
push eax
push str.about:blank
push str.QSAd
push ecx
call ebx
lea eax, [esp + 0x40]
lea edi, [ebp + 0x168]
lea ecx, [eax + 1]
nop
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4115f0
sub eax, ecx
push eax
lea edx, [esp + 0x44]
push edx
mov ecx, edi
call fcn.00401f00
mov ecx, dword [esp + 0x10]
push esi
push 0x104
lea eax, [esp + 0x48]
push eax
push str.about:blank
push str.mainAd
push ecx
call ebx
lea eax, [esp + 0x40]
lea edi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x411630
sub eax, edi
push eax
lea edx, [esp + 0x44]
push edx
lea ecx, [ebp + 0xe8]
call fcn.00401f00
mov ecx, dword [esp + 0x10]
push esi
push 0x104
lea eax, [esp + 0x48]
push eax
push str.about:blank
push str.mainUrl
push ecx
call ebx
lea eax, [esp + 0x40]
lea edi, [ebp + 0xec]
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x411673
sub eax, ecx
push eax
lea edx, [esp + 0x44]
push edx
mov ecx, edi
call fcn.00401f00
mov ecx, dword [esp + 0x10]
push esi
push 0x104
lea eax, [esp + 0x48]
push eax
push str.about:blank
push str.mainBBS
push ecx
call ebx
lea eax, [esp + 0x40]
lea edi, [ebp + 0xf0]
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4116b2
sub eax, ecx
push eax
lea edx, [esp + 0x44]
push edx
mov ecx, edi
call fcn.00401f00
mov ecx, dword [esp + 0x10]
push esi
push 0x104
lea eax, [esp + 0x48]
push eax
push str.about:blank
push str.htmlLogin
push ecx
call ebx
lea eax, [esp + 0x40]
lea edi, [ebp + 0xf4]
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4116f1
sub eax, ecx
push eax
lea edx, [esp + 0x44]
push edx
mov ecx, edi
call fcn.00401f00
mov ecx, dword [esp + 0x10]
push esi
push 0x104
lea eax, [esp + 0x48]
push eax
push str.about:blank
push str.htmlLoginOK
push ecx
call ebx
lea eax, [esp + 0x40]
lea edi, [ebp + 0xf8]
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x411730
sub eax, ecx
push eax
lea edx, [esp + 0x44]
push edx
mov ecx, edi
call fcn.00401f00
mov ecx, dword [esp + 0x10]
push esi
push 0x104
lea eax, [esp + 0x48]
push eax
push str.about:blank
push str.htmlReg
push ecx
call ebx
lea eax, [esp + 0x40]
lea edi, [ebp + 0xfc]
lea ecx, [eax + 1]
nop
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x411770
sub eax, ecx
push eax
lea edx, [esp + 0x44]
push edx
mov ecx, edi
call fcn.00401f00
mov ecx, dword [esp + 0x10]
push esi
push 0x104
lea eax, [esp + 0x48]
push eax
push str.PATH2
push str.regPath
push ecx
call ebx
lea eax, [esp + 0x40]
lea edi, [ebp + 0x100]
lea ecx, [eax + 1]
nop
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4117b0
sub eax, ecx
push eax
lea edx, [esp + 0x44]
push edx
mov ecx, edi
call fcn.00401f00
mov ecx, dword [esp + 0x10]
push esi
push 0x104
lea eax, [esp + 0x48]
push eax
push str.hall.ico
push str.icon
push ecx
call ebx
lea eax, [esp + 0x40]
lea edi, [ebp + 0x104]
lea ecx, [eax + 1]
nop
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4117f0
sub eax, ecx
push eax
lea edx, [esp + 0x44]
push edx
mov ecx, edi
call fcn.00401f00
mov ecx, dword [esp + 0x10]
push esi
push 0x104
lea eax, [esp + 0x48]
push eax
push str.about:blank
push str.battleReg
push ecx
call ebx
lea eax, [esp + 0x40]
lea edi, [ebp + 0x108]
lea ecx, [eax + 1]
nop
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x411830
sub eax, ecx
push eax
lea edx, [esp + 0x44]
push edx
mov ecx, edi
call fcn.00401f00
mov ecx, dword [esp + 0x10]
push esi
push 0x104
lea eax, [esp + 0x48]
push eax
push 0x53e744
push str.QuarterClew
push ecx
call ebx
lea eax, [esp + 0x40]
lea edi, [ebp + 0x128]
lea ecx, [eax + 1]
nop
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x411870
sub eax, ecx
push eax
lea edx, [esp + 0x44]
push edx
mov ecx, edi
call fcn.00401f00
mov ecx, dword [esp + 0x10]
push esi
push 0x104
lea eax, [esp + 0x48]
push eax
push str.Stock
push str.StockDir
push ecx
call ebx
lea eax, [esp + 0x40]
lea edi, [ebp + 0x12c]
lea ecx, [eax + 1]
nop
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4118b0
sub eax, ecx
push eax
lea edx, [esp + 0x44]
push edx
mov ecx, edi
call fcn.00401f00
mov ecx, dword [esp + 0x10]
push esi
push 0x104
lea eax, [esp + 0x48]
push eax
push str.CSCWin
push str.StockEXE
push ecx
call ebx
lea eax, [esp + 0x40]
lea edi, [ebp + 0x130]
lea ecx, [eax + 1]
nop
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4118f0
sub eax, ecx
push eax
lea edx, [esp + 0x44]
push edx
mov ecx, edi
call fcn.00401f00
mov ecx, dword [esp + 0x10]
push esi
push 0x104
lea eax, [esp + 0x48]
push eax
push 0x53e6dc
push str.CHATDLGWARNNING
push ecx
call ebx
lea eax, [esp + 0x40]
lea edi, [ebp + 0x158]
lea ecx, [eax + 1]
nop
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x411930
sub eax, ecx
push eax
lea edx, [esp + 0x44]
push edx
mov ecx, edi
call fcn.00401f00
mov eax, dword [esp + 0x10]
push esi
push 0
push str.updateByIP
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov edx, dword [esp + 0x10]
push esi
push 0x104
lea ecx, [esp + 0x48]
push ecx
push str.about:blank
push str.eliveUrl
push edx
mov dword [ebp + 0x184], eax
call ebx
lea eax, [esp + 0x40]
lea edi, [ebp + 0x188]
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x411988
sub eax, ecx
push eax
lea eax, [esp + 0x44]
push eax
mov ecx, edi
call fcn.00401f00
mov eax, dword [ebp + 0xe8]
push esi
push 0x104
lea ecx, [esp + 0x48]
push ecx
push eax
push str.shareListUrl
push str.shareList
call ebx
lea eax, [esp + 0x40]
lea edi, [ebp + 0x144]
lea ecx, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4119d0
sub eax, ecx
push eax
lea edx, [esp + 0x44]
push edx
mov ecx, edi
call fcn.00401f00
push esi
push 0x104
lea eax, [esp + 0x48]
push eax
push str.about:blank
push str.silverToJoyXYmoney
push str.joyXY
call ebx
lea eax, [esp + 0x40]
lea edi, [ebp + 0x150]
lea ecx, [eax + 1]
nop
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x411a10
sub eax, ecx
push eax
lea ecx, [esp + 0x44]
push ecx
mov ecx, edi
call fcn.00401f00
push esi
push 0x104
lea edx, [esp + 0x48]
push edx
push 0x53a3bc
push str.loginUrl
push str.rxsg
call ebx
lea eax, [esp + 0x40]
lea edi, [ebp + 0x15c]
lea ecx, [eax + 1]
nop
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x411a50
sub eax, ecx
push eax
lea eax, [esp + 0x44]
push eax
mov ecx, edi
call fcn.00401f00
push esi
push 0x104
lea ecx, [esp + 0x48]
push ecx
push str.about:blank
push str.rxsgMainUrl
push str.rxsg
call ebx
lea eax, [esp + 0x40]
lea edi, [ebp + 0x160]
lea ecx, [eax + 1]
nop
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x411a90
sub eax, ecx
push eax
lea edx, [esp + 0x44]
push edx
mov ecx, edi
call fcn.00401f00
push esi
push 0x104
lea eax, [esp + 0x48]
push eax
push str.about:blank
push str.downloadurl
push str.xkuda
call ebx
lea eax, [esp + 0x40]
lea edi, [ebp + 0x16c]
lea ecx, [eax + 1]
nop
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x411ad0
sub eax, ecx
push eax
lea ecx, [esp + 0x44]
push ecx
mov ecx, edi
call fcn.00401f00
push esi
push 0x104
lea edx, [esp + 0x48]
push edx
push str.about:blank
push str.operateurl
push str.xkuda
call ebx
lea eax, [esp + 0x40]
lea edi, [ebp + 0x174]
lea ecx, [eax + 1]
nop
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x411b10
sub eax, ecx
push eax
lea eax, [esp + 0x44]
push eax
mov ecx, edi
call fcn.00401f00
push esi
push 0
push str.tuiguang
push str.xkuda
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push esi
push 0x104
lea ecx, [esp + 0x48]
push ecx
push 0x53a3bc
push str.tuiguangmsg
push str.xkuda
mov dword [ebp + 0x17c], eax
call ebx
call fcn.004fa853
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x20]
push 0x53c3e8
push ecx
mov byte [esp + 0x35c], 2
call fcn.00405820
add esp, 0xc
push 0x53e620
push str._r_n
lea edx, [esp + 0x24]
push edx
call fcn.00412480
lea eax, [esp + 0x1c]
lea ecx, [ebp + 0x180]
push eax
call fcn.0040f190
mov edx, dword [esp + 0x10]
push esi
xor eax, eax
push 0x1ff
mov ecx, 0x80
lea edi, [esp + 0x14c]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x14c]
push ecx
push 0x53a3bc
push str.InvisibleGame
push edx
call ebx
lea eax, [esp + 0x144]
push eax
lea ecx, [esp + 0x28]
call fcn.00402030
mov byte [esp + 0x350], 3
call fcn.004fa853
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x14], eax
lea eax, [esp + 0x28]
push eax
push 0x53e604
lea ecx, [esp + 0x20]
push ecx
mov byte [esp + 0x35c], 4
lea ecx, [esp + 0x30]
mov dword [esp + 0x34], 0
call fcn.00412680
mov byte [esp + 0x350], 5
push eax
lea ecx, [esp + 0x18]
call fcn.0040f190
mov byte [esp + 0x350], 4
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x411c6c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esp + 0x14]
push 0x53a3bc
push eax
call fcn.004b34a2
add esp, 8
test eax, eax
je 0x411e80
lea ecx, [esp + 0x20]
push ecx
push 0x53e600
lea edx, [esp + 0x20]
push edx
lea ecx, [esp + 0x20]
mov dword [esp + 0x2c], 0
call fcn.00412680
mov byte [esp + 0x350], 6
mov esi, dword [esp + 0x18]
push 0x53a3bc
push esi
call fcn.004b34a2
add esp, 8
test eax, eax
je 0x411d9e
lea eax, [esp + 0x20]
push eax
push 0x53e600
lea ecx, [esp + 0x3c]
push ecx
lea ecx, [esp + 0x20]
call fcn.00412680
mov byte [esp + 0x350], 7
mov edi, dword [esp + 0x34]
push 0x53a3bc
push edi
call fcn.004b34a2
add esp, 8
test eax, eax
je 0x411d7c
push esi
call fcn.004b3f19
push edi
mov esi, eax
call fcn.004b3f19
mov dword [esp + 0x40], esi
lea esi, [ebp + 0x18c]
mov dword [esp + 0x44], eax
mov eax, dword [esi + 4]
add esp, 8
test eax, eax
jne 0x411d28
xor edx, edx
jmp 0x411d30
mov edx, dword [esi + 8]
sub edx, eax
sar edx, 3
test eax, eax
je 0x411d67
mov ecx, dword [esi + 0xc]
sub ecx, eax
sar ecx, 3
cmp edx, ecx
jae 0x411d67
mov edx, dword [esp + 0x2c]
mov edi, dword [esi + 8]
push edx
lea edx, [esp + 0x3c]
mov ecx, 1
mov eax, edi
call fcn.00469c20
add esp, 4
add edi, 8
mov dword [esi + 8], edi
mov edi, dword [esp + 0x34]
jmp 0x411d7c
mov eax, dword [esi + 8]
lea ecx, [esp + 0x38]
push ecx
push eax
mov ecx, 1
mov edx, esi
call fcn.00412930
lea eax, [edi - 0x10]
mov byte [esp + 0x350], 6
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x411d9e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
lea eax, [esp + 0x28]
push eax
push 0x53e604
lea ecx, [esp + 0x34]
push ecx
lea ecx, [esp + 0x30]
call fcn.00412680
mov byte [esp + 0x350], 8
mov ecx, dword [eax]
mov esi, dword [esp + 0x14]
lea eax, [ecx - 0x10]
add esi, 0xfffffff0
cmp eax, esi
je 0x411e1a
mov edx, dword [esi + 0xc]
test edx, edx
lea edi, [esi + 0xc]
jl 0x411e0c
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x411e0c
push eax
call fcn.00401c20
mov dword [esp + 0x24], eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [edi], eax
dec eax
test eax, eax
jg 0x411dff
mov ecx, dword [esi]
mov edx, dword [ecx]
push esi
call dword [edx + 4]
mov eax, dword [esp + 0x20]
add eax, 0x10
mov dword [esp + 0x14], eax
jmp 0x411e1a
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [esp + 0x1c]
call fcn.00401f00
mov byte [esp + 0x350], 6
mov eax, dword [esp + 0x2c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x411e40
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov byte [esp + 0x350], 4
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x411e66
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esp + 0x14]
push 0x53a3bc
push eax
call fcn.004b34a2
add esp, 8
test eax, eax
jne 0x411c86
call fcn.00410f00
push eax
lea ecx, [esp + 0x34]
call fcn.0040f190
mov esi, dword [esp + 0x30]
push esi
push 0x104
lea ecx, [esp + 0x48]
push ecx
push 0x53e5f8
push str.GoldName
push str.ClientSetting
call ebx
lea eax, [esp + 0x40]
lea edi, [ebp + 0x118]
lea ecx, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x411ec0
sub eax, ecx
push eax
lea edx, [esp + 0x44]
push edx
mov ecx, edi
call fcn.00401f00
push esi
push 0x104
lea eax, [esp + 0x48]
push eax
push 0x53e5e4
push str.SilverName
push str.ClientSetting
call ebx
lea eax, [esp + 0x40]
lea edi, [ebp + 0x11c]
lea ecx, [eax + 1]
nop
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x411f00
sub eax, ecx
push eax
lea ecx, [esp + 0x44]
push ecx
mov ecx, edi
call fcn.00401f00
push esi
push 0x104
lea edx, [esp + 0x48]
push edx
push 0x53e5d0
push str.GameSilverName
push str.ClientSetting
call ebx
lea eax, [esp + 0x40]
lea edi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x411f40
sub eax, edi
push eax
lea eax, [esp + 0x44]
push eax
lea ecx, [ebp + 0x120]
call fcn.00401f00
push 4
lea ecx, [ebp + 0x124]
push 0x53e5b8
call fcn.00401f00
push esi
push 0x104
lea ecx, [esp + 0x48]
push ecx
push str.http:__game.qu_zhou.com_baowu
push str.PropertyUrl
push str.ClientSetting
call ebx
lea eax, [esp + 0x40]
lea edi, [ebp + 0x134]
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x411f95
sub eax, ecx
push eax
lea edx, [esp + 0x44]
push edx
mov ecx, edi
call fcn.00401f00
mov eax, dword [ebp + 0xe8]
push esi
push 0x104
lea ecx, [esp + 0x48]
push ecx
push eax
push str.GameIntroUrl
push str.ClientSetting
call ebx
lea eax, [esp + 0x40]
lea edi, [ebp + 0x138]
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x411fd6
sub eax, ecx
push eax
lea edx, [esp + 0x44]
push edx
mov ecx, edi
call fcn.00401f00
push esi
push 0x104
lea eax, [esp + 0x48]
push eax
push str.www.51786.com_
push str.FlashGameUrl
push str.ClientSetting
call ebx
lea eax, [esp + 0x40]
lea edi, [ebp + 0x13c]
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x412015
sub eax, ecx
push eax
lea ecx, [esp + 0x44]
push ecx
mov ecx, edi
call fcn.00401f00
push esi
push 0x104
lea edx, [esp + 0x48]
push edx
push str.http:__60.191.187.250:6666_tzcharge_adsl_charge.jsp
push str.PrizeUrl
push str.ClientSetting
call ebx
lea eax, [esp + 0x40]
lea edi, [ebp + 0x140]
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x412054
sub eax, ecx
push eax
lea eax, [esp + 0x44]
push eax
mov ecx, edi
call fcn.00401f00
call fcn.004fa853
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x18], eax
mov byte [esp + 0x350], 9
mov eax, dword [ebp + 0x120]
push eax
mov ecx, eax
push ecx
lea edx, [esp + 0x20]
push 0x53e4f8
push edx
call fcn.00405820
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
add esp, 0x10
push esi
push 0x104
lea eax, [esp + 0x48]
push eax
push edi
push str.gameSilverClew
push ecx
call ebx
lea eax, [esp + 0x40]
add ebp, 0x10c
lea ecx, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4120d0
sub eax, ecx
push eax
lea edx, [esp + 0x44]
push edx
mov ecx, ebp
call fcn.00401f00
lea eax, [edi - 0x10]
mov byte [esp + 0x350], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x412108
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov byte [esp + 0x350], 3
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41212e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov byte [esp + 0x350], 2
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x412154
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov byte [esp + 0x350], 1
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41217a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov byte [esp + 0x350], 0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4121a0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
add esi, 0xfffffff0
mov dword [esp + 0x350], 0xffffffff
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4121c5
mov ecx, dword [esi]
mov edx, dword [ecx]
push esi
call dword [edx + 4]
mov ecx, dword [esp + 0x348]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
mov ecx, dword [esp + 0x338]
pop ebx
call fcn.004b6cac
add esp, 0x344
ret 4