Function at 0x406230
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4ce579
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xc0
push ebx
push esi
mov esi, ecx
push edi
lea ecx, [esp + 0x28]
call fcn.004318f0
lea ecx, [esp + 0x38]
mov dword [esp + 0xd4], 0
call fcn.004318f0
lea ecx, [esp + 0x40]
mov byte [esp + 0xd4], 1
call fcn.004318f0
lea ecx, [esp + 0x30]
mov byte [esp + 0xd4], 2
call fcn.004318f0
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov eax, dword [eax + 4]
push edi
push eax
lea ecx, [esp + 0x50]
push str.range_slid_d
push ecx
mov byte [esp + 0xe4], 3
call fcn.004887ad
add esp, 0x10
lea edx, [esp + 0x48]
push edx
lea ecx, [esp + 0x24]
call fcn.00431b00
push str.get_score
lea ecx, [esp + 0x10]
mov byte [esp + 0xd8], 4
call fcn.00431b00
lea eax, [esp + 0x28]
push eax
push 0x504be4
lea ecx, [esp + 0x28]
push ecx
lea edx, [esp + 0x18]
push edx
mov ecx, esi
mov byte [esp + 0xe4], 5
call fcn.00405ab0
lea ecx, [esp + 0xc]
mov bl, al
mov byte [esp + 0xd4], 4
call fcn.00431a00
lea ecx, [esp + 0x20]
mov byte [esp + 0xd4], 3
call fcn.00431a00
test bl, bl
je 0x406510
mov eax, dword [esp + 0x2c]
lea ebx, [esi + 0x680]
push ebx
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ebx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [esi + 0x7fc], edi
jne 0x4064ea
lea ecx, [esp + 0xc]
call fcn.004318f0
push str.SCORE:
lea ecx, [esp + 0x18]
mov byte [esp + 0xd8], 6
call fcn.00431b00
lea ecx, [esp + 0xc]
push ecx
lea ecx, [esp + 0x18]
lea ebx, [esp + 0x20]
mov byte [esp + 0xd8], 7
call fcn.00405dd0
add esp, 4
test al, al
je 0x4063a1
mov edx, dword [esp + 0x10]
push edx
call fcn.00488dee
add esp, 4
jmp 0x4063a3
xor eax, eax
lea ecx, [esp + 0x14]
mov dword [esi + 0x7f8], eax
mov byte [esp + 0xd4], 6
call fcn.00431a00
push str.ALL_TIME_RANK:
lea ecx, [esp + 0x18]
call fcn.00431b00
lea eax, [esp + 0xc]
push eax
lea ecx, [esp + 0x18]
lea ebx, [esp + 0x20]
mov byte [esp + 0xd8], 8
call fcn.00405dd0
add esp, 4
test al, al
je 0x4063f8
mov ecx, dword [esp + 0x10]
push ecx
call fcn.00488dee
add esp, 4
jmp 0x4063fa
xor eax, eax
lea ecx, [esp + 0x14]
mov dword [esi + 0x80c], eax
mov byte [esp + 0xd4], 6
call fcn.00431a00
push str.MONTH_RANK:
lea ecx, [esp + 0x18]
call fcn.00431b00
lea edx, [esp + 0xc]
push edx
lea ecx, [esp + 0x18]
lea ebx, [esp + 0x20]
mov byte [esp + 0xd8], 9
call fcn.00405dd0
add esp, 4
test al, al
je 0x40644f
mov eax, dword [esp + 0x10]
push eax
call fcn.00488dee
add esp, 4
jmp 0x406451
xor eax, eax
lea ecx, [esp + 0x14]
mov dword [esi + 0x810], eax
mov byte [esp + 0xd4], 6
call fcn.00431a00
push str.TODAY_RANK:
lea ecx, [esp + 0x18]
call fcn.00431b00
lea ecx, [esp + 0xc]
push ecx
lea ecx, [esp + 0x18]
lea ebx, [esp + 0x20]
mov byte [esp + 0xd8], 0xa
call fcn.00405dd0
add esp, 4
test al, al
je 0x4064a6
mov edx, dword [esp + 0x10]
push edx
call fcn.00488dee
add esp, 4
jmp 0x4064a8
xor eax, eax
lea ecx, [esp + 0x14]
mov dword [esi + 0x814], eax
mov byte [esp + 0xd4], 6
call fcn.00431a00
mov eax, dword [esi + 0x69c]
cmp word [eax - 4], 0
mov byte [esp + 0xd4], 3
setne cl
mov byte [esi + 0x808], cl
lea ecx, [esp + 0xc]
call fcn.00431a00
mov ebx, dword [esp + 0x20]
jmp 0x406509
fld dword [0x4d6344]
fld dword [esi + 0x66c]
fucompp
fnstsw ax
test ah, 0x44
jp 0x406509
mov dword [esi + 0x66c], 0x3dcccccd
push ebx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea ecx, [esp + 0x30]
mov byte [esp + 0xd4], 2
call fcn.00431a00
lea ecx, [esp + 0x40]
mov byte [esp + 0xd4], 1
call fcn.00431a00
lea ecx, [esp + 0x38]
mov byte [esp + 0xd4], 0
call fcn.00431a00
lea ecx, [esp + 0x28]
mov dword [esp + 0xd4], 0xffffffff
call fcn.00431a00
mov ecx, dword [esp + 0xcc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 8