Function at 0x474130
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x633afb
mov eax, dword fs:[0]
push eax
sub esp, 0x380
mov eax, dword [0x6a73e8]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 0x10]
mov edi, 0x64411c
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x308], edx
mov dword [ebp - 0x2f8], 0xffffffff
mov dword [ebp - 0x2f4], edi
mov dword [ebp - 0x2f0], edi
mov dword [ebp - 0x2fc], 0xffffffff
cmp eax, 1
jne 0x4741f7
cmp dword [ecx + 0x30], 8
lea edx, [ecx + 0x1c]
mov eax, dword [ecx]
mov dword [ebp - 0x2f8], eax
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x2f4], edx
jb 0x4741b8
mov edx, dword [edx]
mov dword [ebp - 0x2f4], edx
cmp dword [ecx + 0x18], 8
lea edi, [ecx + 4]
mov dword [ebp - 0x2e4], eax
mov eax, dword [edi + 0x10]
jb 0x4741cc
mov edi, dword [edi]
cmp dword [ecx + 0x64], 8
lea esi, [ecx + 0x50]
mov dword [ebp - 0x2e4], eax
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x2f0], esi
jb 0x4741ec
mov esi, dword [esi]
mov dword [ebp - 0x2f0], esi
mov dword [ebp - 0x2e4], eax
mov eax, dword [ecx + 0x34]
jmp 0x47423a
cmp eax, 3
jne 0x474240
cmp dword [edx + 0x2c], 8
lea edi, [edx + 0x18]
mov eax, dword [edi + 0x10]
mov dword [ebp - 0x2f8], 0
jb 0x474214
mov edi, dword [edi]
cmp dword [edx + 0x14], 8
mov dword [ebp - 0x2e4], eax
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x2f0], edx
jb 0x474231
mov ecx, dword [edx]
mov dword [ebp - 0x2f0], ecx
mov dword [ebp - 0x2e4], eax
mov eax, dword [edx + 0x34]
mov dword [ebp - 0x2fc], eax
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.005fc2a0
add esp, 4
mov eax, esp
mov dword [eax], 0x63fd28
mov dword [eax + 4], 9
lea eax, [ebp - 0x248]
push eax
call fcn.00459160
add esp, 0xc
cmp dword [eax + 0x14], 8
jb 0x47427c
mov eax, dword [eax]
push str.usercenter.set
push eax
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
mov edx, dword [ebp - 0x234]
cmp edx, 8
jb 0x4742cf
mov ecx, dword [ebp - 0x248]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4742c5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x475421
push edx
push ecx
call fcn.005bb0db
add esp, 8
mov dword [ebp - 0x2b0], 0
mov dword [ebp - 0x2ac], 0xf
mov byte [ebp - 0x2c0], 0
lea eax, [ebp - 0x218]
mov dword [ebp - 4], 0
push eax
mov esi, 1
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x474e0e
mov dword [ebp - 0x298], 0
mov dword [ebp - 0x294], 0xf
mov byte [ebp - 0x2a8], 0
lea eax, [ebp - 0x2a8]
mov byte [ebp - 4], 1
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.0046f780
add esp, 8
test eax, eax
jne 0x474357
lea ecx, [ebp - 0x2a8]
mov byte [ebp - 4], al
call fcn.00407b80
jmp 0x474e0e
xorps xmm0, xmm0
lea ecx, [ebp - 0x2e0]
movups xmmword [ebp - 0x2e0], xmm0
movups xmmword [ebp - 0x2d0], xmm0
call fcn.00491780
lea ecx, [ebp - 0x2e0]
mov byte [ebp - 4], 2
call fcn.00493490
xorps xmm0, xmm0
mov dword [ebp - 0x304], eax
push 0
lea ecx, [ebp - 0x290]
movq qword [ebp - 0x280], xmm0
movups xmmword [ebp - 0x290], xmm0
call fcn.0048c900
mov dword [ebp - 0x268], 0
mov dword [ebp - 0x264], 0xf
mov byte [ebp - 0x278], 0
mov eax, dword [ebp - 0x304]
lea edx, [ebp - 0x2a8]
cmp dword [ebp - 0x294], 0x10
mov byte [ebp - 4], 4
cmovae edx, dword [ebp - 0x2a8]
mov eax, dword [eax]
mov ecx, edx
mov eax, dword [eax + 4]
mov dword [ebp - 0x2ec], eax
lea eax, [ecx + 1]
mov dword [ebp - 0x300], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4743f6
sub ecx, dword [ebp - 0x300]
lea eax, [ebp - 0x278]
push eax
lea eax, [ebp - 0x290]
push eax
lea eax, [edx + ecx]
mov ecx, dword [ebp - 0x304]
push eax
push edx
call dword [ebp - 0x2ec]
test al, al
je 0x474d17
cmp dword [ebp - 0x268], 0
jne 0x474d17
xorps xmm0, xmm0
lea ecx, [ebp - 0x260]
push 0
movups xmmword [ebp - 0x260], xmm0
movq qword [ebp - 0x250], xmm0
call fcn.0048c900
lea eax, [ebp - 0x260]
mov byte [ebp - 4], 5
push eax
sub esp, 0x18
mov ecx, esp
push 4
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
push str.user
mov byte [ecx], 0
call fcn.0040b9b0
lea eax, [ebp - 0x290]
push eax
call fcn.00459d50
add esp, 0x20
lea ecx, [ebp - 0x260]
mov esi, eax
mov dword [ebp - 0x300], esi
call fcn.0048e390
test al, al
jne 0x474d4d
mov ecx, esi
call fcn.0048e390
test al, al
jne 0x474d4d
push 3
push 0x64447c
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 0xf
mov byte [ebp - 0x230], al
call fcn.0040b9b0
lea eax, [ebp - 0x2f8]
mov byte [ebp - 4], 6
push eax
lea eax, [ebp - 0x230]
push eax
push esi
call fcn.0046ba70
mov edx, dword [ebp - 0x21c]
add esp, 0xc
mov byte [ebp - 4], 5
cmp edx, 0x10
jb 0x474541
mov ecx, dword [ebp - 0x230]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x474537
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x475426
push edx
push ecx
call fcn.005bb0db
add esp, 8
call fcn.00409050
mov ecx, eax
test ecx, ecx
je 0x47542b
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x2ec], eax
push edi
lea ecx, [ebp - 0x2ec]
mov byte [ebp - 4], 7
call fcn.00408a20
test al, al
jne 0x47459d
test edi, edi
jne 0x47457c
xor ecx, ecx
jmp 0x474590
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x474581
sub ecx, edx
sar ecx, 1
push ecx
push edi
lea ecx, [ebp - 0x2ec]
call fcn.0040a210
push 8
push str.nickname
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 8
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 0xf
mov byte [ebp - 0x230], 0
call fcn.0040b9b0
lea eax, [ebp - 0x2ec]
mov byte [ebp - 4], 9
push eax
lea eax, [ebp - 0x230]
push eax
push esi
call fcn.00495c30
mov edx, dword [ebp - 0x21c]
add esp, 0xc
mov byte [ebp - 4], 8
cmp edx, 0x10
jb 0x474627
mov ecx, dword [ebp - 0x230]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x47461d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x475435
push edx
push ecx
call fcn.005bb0db
add esp, 8
mov edx, dword [ebp - 0x2ec]
or eax, 0xffffffff
mov dword [ebp - 0x220], 0
add edx, 0xfffffff0
mov dword [ebp - 0x21c], 0xf
mov byte [ebp - 0x230], 0
mov byte [ebp - 4], 5
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x474664
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x2f4]
lea eax, [ebp - 0x388]
mov dword [ebp - 0x38c], eax
test ecx, ecx
jne 0x474687
xor eax, eax
mov dword [ebp - 0x38c], eax
jmp 0x474784
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x474690
sub ecx, edx
sar ecx, 1
push 0x80
lea eax, [ecx + 1]
lea esi, [eax*4]
mov dword [ebp - 0x2ec], eax
lea eax, [ebp - 0x388]
push eax
lea eax, [ebp - 0x38c]
push esi
push eax
call fcn.00454fe0
add esp, 0x10
push 0
push 0
push esi
push dword [ebp - 0x38c]
mov esi, dword [ebp - 0x2ec]
push esi
push dword [ebp - 0x2f4]
push 0
push 3
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
xor ecx, ecx
test eax, eax
sete cl
mov dword [ebp - 0x2e4], ecx
test eax, eax
jne 0x474770
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x47476a
push 0
push 0
push 0
push 0
push esi
push dword [ebp - 0x2f4]
push 0
push 3
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov esi, eax
lea eax, [ebp - 0x388]
push 0x80
push eax
lea eax, [ebp - 0x38c]
push esi
push eax
call fcn.00454fe0
add esp, 0x10
push 0
push 0
push esi
push dword [ebp - 0x38c]
push dword [ebp - 0x2ec]
push dword [ebp - 0x2f4]
push 0
push 3
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
jmp 0x474770
mov ecx, dword [ebp - 0x2e4]
test ecx, ecx
jne 0x47543a
mov eax, dword [ebp - 0x38c]
mov esi, dword [ebp - 0x300]
push 5
push str.token
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 0xa
mov dword [ebp - 0x2e4], eax
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 0xf
mov byte [ebp - 0x230], 0
call fcn.0040b9b0
lea eax, [ebp - 0x2e4]
mov byte [ebp - 4], 0xb
push eax
lea eax, [ebp - 0x230]
push eax
push esi
call fcn.0046bd30
mov edx, dword [ebp - 0x21c]
add esp, 0xc
mov byte [ebp - 4], 0xa
cmp edx, 0x10
jb 0x474814
mov ecx, dword [ebp - 0x230]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x47480a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x475459
push edx
push ecx
call fcn.005bb0db
add esp, 8
mov eax, dword [ebp - 0x38c]
lea ecx, [ebp - 0x388]
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 0xf
mov byte [ebp - 0x230], 0
mov byte [ebp - 4], 5
cmp eax, ecx
je 0x47484c
push eax
call fcn.005ffbb1
add esp, 4
push 5
push str.level
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 0xf
mov byte [ebp - 0x230], 0
call fcn.0040b9b0
lea eax, [ebp - 0x2fc]
mov byte [ebp - 4], 0xc
push eax
lea eax, [ebp - 0x230]
push eax
push esi
call fcn.0046ba70
mov edx, dword [ebp - 0x21c]
add esp, 0xc
mov byte [ebp - 4], 5
cmp edx, 0x10
jb 0x4748d2
mov ecx, dword [ebp - 0x230]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4748c8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x47545e
push edx
push ecx
call fcn.005bb0db
add esp, 8
lea eax, [ebp - 0x388]
mov dword [ebp - 0x38c], eax
mov eax, dword [ebp - 0x2f0]
test eax, eax
jne 0x4748f3
mov dword [ebp - 0x38c], eax
jmp 0x4749f4
mov ecx, eax
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x474900
sub ecx, edx
sar ecx, 1
push 0x80
lea eax, [ecx + 1]
lea esi, [eax*4]
mov dword [ebp - 0x2ec], eax
lea eax, [ebp - 0x388]
push eax
lea eax, [ebp - 0x38c]
push esi
push eax
call fcn.00454fe0
add esp, 0x10
push 0
push 0
push esi
push dword [ebp - 0x38c]
mov esi, dword [ebp - 0x2ec]
push esi
push dword [ebp - 0x2f0]
push 0
push 3
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
xor ecx, ecx
test eax, eax
sete cl
mov dword [ebp - 0x2e4], ecx
test eax, eax
jne 0x4749e0
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x4749da
push 0
push 0
push 0
push 0
push esi
push dword [ebp - 0x2f0]
push 0
push 3
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov esi, eax
lea eax, [ebp - 0x388]
push 0x80
push eax
lea eax, [ebp - 0x38c]
push esi
push eax
call fcn.00454fe0
add esp, 0x10
push 0
push 0
push esi
push dword [ebp - 0x38c]
push dword [ebp - 0x2ec]
push dword [ebp - 0x2f0]
push 0
push 3
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
jmp 0x4749e0
mov ecx, dword [ebp - 0x2e4]
test ecx, ecx
jne 0x475463
mov eax, dword [ebp - 0x38c]
mov esi, dword [ebp - 0x300]
push 6
push str.avatar
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 0xd
mov dword [ebp - 0x2e4], eax
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 0xf
mov byte [ebp - 0x230], 0
call fcn.0040b9b0
lea eax, [ebp - 0x2e4]
mov byte [ebp - 4], 0xe
push eax
lea eax, [ebp - 0x230]
push eax
push esi
call fcn.0046bd30
mov edx, dword [ebp - 0x21c]
add esp, 0xc
mov byte [ebp - 4], 0xd
cmp edx, 0x10
jb 0x474a84
mov ecx, dword [ebp - 0x230]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x474a7a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x475482
push edx
push ecx
call fcn.005bb0db
add esp, 8
mov eax, dword [ebp - 0x38c]
lea ecx, [ebp - 0x388]
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 0xf
mov byte [ebp - 0x230], 0
mov byte [ebp - 4], 5
cmp eax, ecx
je 0x474abc
push eax
call fcn.005ffbb1
add esp, 4
push 5
push str.state
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 0xf
mov byte [ebp - 0x230], 0
call fcn.0040b9b0
lea eax, [ebp + 0x10]
mov byte [ebp - 4], 0xf
push eax
lea eax, [ebp - 0x230]
push eax
push esi
call fcn.0046ba70
mov edx, dword [ebp - 0x21c]
add esp, 0xc
mov byte [ebp - 4], 5
cmp edx, 0x10
jb 0x474b3f
mov ecx, dword [ebp - 0x230]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x474b35
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x475487
push edx
push ecx
call fcn.005bb0db
add esp, 8
push 8
push str.is_guest
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 0xf
mov byte [ebp - 0x230], 0
call fcn.0040b9b0
mov eax, dword [ebp - 0x308]
add eax, 0x30
mov byte [ebp - 4], 0x10
push eax
lea eax, [ebp - 0x230]
push eax
push esi
call fcn.0046c820
mov edx, dword [ebp - 0x21c]
add esp, 0xc
mov byte [ebp - 4], 5
cmp edx, 0x10
jb 0x474bc8
mov ecx, dword [ebp - 0x230]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x474bbe
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x47548c
push edx
push ecx
call fcn.005bb0db
add esp, 8
push 0
call fcn.00609066
add esp, 4
mov dword [ebp - 0x2e8], eax
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x2e4], edx
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 0xf
push 4
push str.time
mov byte [ebp - 0x230], 0
call fcn.0040b9b0
lea eax, [ebp - 0x2e8]
mov byte [ebp - 4], 0x11
push eax
lea eax, [ebp - 0x230]
push eax
push esi
call fcn.0046c550
mov edx, dword [ebp - 0x21c]
add esp, 0xc
mov byte [ebp - 4], 5
cmp edx, 0x10
jb 0x474c64
mov ecx, dword [ebp - 0x230]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x474c5a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x475491
push edx
push ecx
call fcn.005bb0db
add esp, 8
lea eax, [ebp - 0x248]
xor esi, esi
push eax
lea ecx, [ebp - 0x290]
call fcn.0048f980
mov ecx, dword [ebp - 0x238]
mov byte [ebp - 4], 0x12
test ecx, ecx
je 0x474ca7
cmp dword [ebp - 0x234], 0x10
lea eax, [ebp - 0x248]
push ecx
cmovae eax, dword [ebp - 0x248]
lea ecx, [ebp - 0x2c0]
push eax
call fcn.0040b9b0
mov ecx, dword [ebp - 0x304]
push 1
mov eax, dword [ecx]
call dword [eax]
mov edx, dword [ebp - 0x234]
mov byte [ebp - 4], 5
cmp edx, 0x10
jb 0x474cf1
mov ecx, dword [ebp - 0x248]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x474ce7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x475496
push edx
push ecx
call fcn.005bb0db
add esp, 8
lea ecx, [ebp - 0x260]
mov dword [ebp - 0x238], 0
mov dword [ebp - 0x234], 0xf
mov byte [ebp - 0x248], 0
call fcn.0048ccf0
mov edx, dword [ebp - 0x264]
mov byte [ebp - 4], 3
cmp edx, 0x10
jb 0x474d97
mov ecx, dword [ebp - 0x278]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x474d8d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x47549b
jmp 0x474d8d
lea ecx, [ebp - 0x260]
call fcn.0048ccf0
lea ecx, [ebp - 0x278]
call fcn.00407b80
lea ecx, [ebp - 0x290]
call fcn.0048ccf0
lea ecx, [ebp - 0x2e0]
call fcn.004918a0
lea ecx, [ebp - 0x2a8]
mov byte [ebp - 4], 0
call fcn.00407b80
jmp 0x474e0e
push edx
push ecx
call fcn.005bb0db
add esp, 8
lea ecx, [ebp - 0x290]
mov dword [ebp - 0x268], 0
mov dword [ebp - 0x264], 0xf
mov byte [ebp - 0x278], 0
call fcn.0048ccf0
lea ecx, [ebp - 0x2e0]
call fcn.004918a0
mov edx, dword [ebp - 0x294]
mov byte [ebp - 4], 0
cmp edx, 0x10
jb 0x474e06
mov ecx, dword [ebp - 0x2a8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x474dfc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4754a0
push edx
push ecx
call fcn.005bb0db
add esp, 8
test esi, esi
je 0x4753e3
xorps xmm0, xmm0
lea ecx, [ebp - 0x230]
push 0
movups xmmword [ebp - 0x230], xmm0
movq qword [ebp - 0x220], xmm0
call fcn.0048c900
xorps xmm0, xmm0
mov byte [ebp - 4], 0x13
push 0
lea ecx, [ebp - 0x278]
movq qword [ebp - 0x268], xmm0
movups xmmword [ebp - 0x278], xmm0
call fcn.0048c900
push 3
push 0x64447c
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], 0x14
mov dword [ebp - 0x250], 0
mov dword [ebp - 0x24c], 0xf
mov byte [ebp - 0x260], 0
call fcn.0040b9b0
lea eax, [ebp - 0x2f8]
mov byte [ebp - 4], 0x15
push eax
lea eax, [ebp - 0x260]
push eax
lea eax, [ebp - 0x278]
push eax
call fcn.0046ba70
mov edx, dword [ebp - 0x24c]
add esp, 0xc
mov byte [ebp - 4], 0x14
cmp edx, 0x10
jb 0x474ee0
mov ecx, dword [ebp - 0x260]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x474ed6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4754a5
push edx
push ecx
call fcn.005bb0db
add esp, 8
push edi
lea ecx, [ebp - 0x2e4]
call fcn.00406e20
mov esi, eax
push 8
push str.nickname
lea ecx, [ebp - 0x248]
mov byte [ebp - 4], 0x16
mov dword [ebp - 0x238], 0
mov dword [ebp - 0x234], 0xf
mov byte [ebp - 0x248], 0
call fcn.0040b9b0
push esi
lea eax, [ebp - 0x248]
mov byte [ebp - 4], 0x17
push eax
lea eax, [ebp - 0x278]
push eax
call fcn.00495c30
mov edx, dword [ebp - 0x234]
add esp, 0xc
mov byte [ebp - 4], 0x16
cmp edx, 0x10
jb 0x474f78
mov ecx, dword [ebp - 0x248]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x474f6e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4754aa
push edx
push ecx
call fcn.005bb0db
add esp, 8
mov edx, dword [ebp - 0x2e4]
or eax, 0xffffffff
mov dword [ebp - 0x238], 0
add edx, 0xfffffff0
mov dword [ebp - 0x234], 0xf
mov byte [ebp - 0x248], 0
mov byte [ebp - 4], 0x14
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x474fb5
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push dword [ebp - 0x2f4]
lea ecx, [ebp - 0x38c]
call fcn.0046cae0
mov eax, dword [eax]
lea ecx, [ebp - 0x248]
push 5
push str.token
mov byte [ebp - 4], 0x18
mov dword [ebp - 0x2e4], eax
mov dword [ebp - 0x238], 0
mov dword [ebp - 0x234], 0xf
mov byte [ebp - 0x248], 0
call fcn.0040b9b0
lea eax, [ebp - 0x2e4]
mov byte [ebp - 4], 0x19
push eax
lea eax, [ebp - 0x248]
push eax
lea eax, [ebp - 0x278]
push eax
call fcn.0046bd30
mov edx, dword [ebp - 0x234]
add esp, 0xc
mov byte [ebp - 4], 0x18
cmp edx, 0x10
jb 0x47505e
mov ecx, dword [ebp - 0x248]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x475054
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4754af
push edx
push ecx
call fcn.005bb0db
add esp, 8
mov eax, dword [ebp - 0x38c]
lea ecx, [ebp - 0x388]
mov dword [ebp - 0x238], 0
mov dword [ebp - 0x234], 0xf
mov byte [ebp - 0x248], 0
mov byte [ebp - 4], 0x14
cmp eax, ecx
je 0x475096
push eax
call fcn.005ffbb1
add esp, 4
push 5
push str.level
lea ecx, [ebp - 0x260]
mov dword [ebp - 0x250], 0
mov dword [ebp - 0x24c], 0xf
mov byte [ebp - 0x260], 0
call fcn.0040b9b0
lea eax, [ebp - 0x2fc]
mov byte [ebp - 4], 0x1a
push eax
lea eax, [ebp - 0x260]
push eax
lea eax, [ebp - 0x278]
push eax
call fcn.0046ba70
mov edx, dword [ebp - 0x24c]
add esp, 0xc
mov byte [ebp - 4], 0x14
cmp edx, 0x10
jb 0x475122
mov ecx, dword [ebp - 0x260]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x475118
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4754b4
push edx
push ecx
call fcn.005bb0db
add esp, 8
push dword [ebp - 0x2f0]
lea ecx, [ebp - 0x38c]
call fcn.0046cae0
mov eax, dword [eax]
lea ecx, [ebp - 0x248]
push 6
push str.avatar
mov byte [ebp - 4], 0x1b
mov dword [ebp - 0x2e4], eax
mov dword [ebp - 0x238], 0
mov dword [ebp - 0x234], 0xf
mov byte [ebp - 0x248], 0
call fcn.0040b9b0
lea eax, [ebp - 0x2e4]
mov byte [ebp - 4], 0x1c
push eax
lea eax, [ebp - 0x248]
push eax
lea eax, [ebp - 0x278]
push eax
call fcn.0046bd30
mov edx, dword [ebp - 0x234]
add esp, 0xc
mov byte [ebp - 4], 0x1b
cmp edx, 0x10
jb 0x4751cb
mov ecx, dword [ebp - 0x248]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4751c1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4754b9
push edx
push ecx
call fcn.005bb0db
add esp, 8
mov eax, dword [ebp - 0x38c]
lea ecx, [ebp - 0x388]
mov dword [ebp - 0x238], 0
mov dword [ebp - 0x234], 0xf
mov byte [ebp - 0x248], 0
mov byte [ebp - 4], 0x14
cmp eax, ecx
je 0x475203
push eax
call fcn.005ffbb1
add esp, 4
push 5
push str.state
lea ecx, [ebp - 0x260]
mov dword [ebp - 0x250], 0
mov dword [ebp - 0x24c], 0xf
mov byte [ebp - 0x260], 0
call fcn.0040b9b0
lea eax, [ebp + 0x10]
mov byte [ebp - 4], 0x1d
push eax
lea eax, [ebp - 0x260]
push eax
lea eax, [ebp - 0x278]
push eax
call fcn.0046ba70
mov edx, dword [ebp - 0x24c]
add esp, 0xc
mov byte [ebp - 4], 0x14
cmp edx, 0x10
jb 0x47528c
mov ecx, dword [ebp - 0x260]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x475282
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4754be
push edx
push ecx
call fcn.005bb0db
add esp, 8
push 8
push str.is_guest
lea ecx, [ebp - 0x260]
mov dword [ebp - 0x250], 0
mov dword [ebp - 0x24c], 0xf
mov byte [ebp - 0x260], 0
call fcn.0040b9b0
mov eax, dword [ebp - 0x308]
add eax, 0x30
mov byte [ebp - 4], 0x1e
push eax
lea eax, [ebp - 0x260]
push eax
lea eax, [ebp - 0x278]
push eax
call fcn.0046c820
add esp, 0xc
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x260]
call fcn.00407b80
push 0
call fcn.00609066
add esp, 4
mov dword [ebp - 0x2e8], eax
lea ecx, [ebp - 0x260]
mov dword [ebp - 0x2e4], edx
mov dword [ebp - 0x250], 0
mov dword [ebp - 0x24c], 0xf
push 4
push str.time
mov byte [ebp - 0x260], 0
call fcn.0040b9b0
lea eax, [ebp - 0x2e8]
mov byte [ebp - 4], 0x1f
push eax
lea eax, [ebp - 0x260]
push eax
lea eax, [ebp - 0x278]
push eax
call fcn.0046c550
add esp, 0xc
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x260]
call fcn.00407b80
lea eax, [ebp - 0x278]
push eax
push str.user
lea ecx, [ebp - 0x230]
call fcn.0048d280
mov ecx, eax
call fcn.0048cdb0
lea eax, [ebp - 0x290]
push eax
lea ecx, [ebp - 0x230]
call fcn.0048f980
mov ecx, dword [ebp - 0x280]
mov byte [ebp - 4], 0x20
test ecx, ecx
je 0x4753be
cmp dword [ebp - 0x27c], 0x10
lea eax, [ebp - 0x290]
push ecx
cmovae eax, dword [ebp - 0x290]
lea ecx, [ebp - 0x2c0]
push eax
call fcn.0040b9b0
lea ecx, [ebp - 0x290]
call fcn.00407b80
lea ecx, [ebp - 0x278]
call fcn.0048ccf0
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 0
call fcn.0048ccf0
lea eax, [ebp - 0x2c0]
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.00473cf0
add esp, 8
lea ecx, [ebp - 0x2c0]
call fcn.00407b80
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005bb391
mov esp, ebp
pop ebp
ret 0xc
call fcn.005ffa79
call fcn.005ffa79
push 0x80004005
call fcn.00408a00
call fcn.005ffa79
push 0x80
lea eax, [ebp - 0x388]
push eax
push dword [ebp - 0x38c]
call fcn.004550e0
add esp, 0xc
call fcn.00455230
call fcn.005ffa79
call fcn.005ffa79
push 0x80
lea eax, [ebp - 0x388]
push eax
push dword [ebp - 0x38c]
call fcn.004550e0
add esp, 0xc
call fcn.00455230
call fcn.005ffa79
call fcn.005ffa79
call fcn.005ffa79
call fcn.005ffa79
call fcn.005ffa79
call fcn.005ffa79
call fcn.005ffa79
call fcn.005ffa79
call fcn.005ffa79
call fcn.005ffa79
call fcn.005ffa79
call fcn.005ffa79
call fcn.005ffa79
int3