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

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x538b3b
push eax
mov dword fs:[0], esp
sub esp, 0x14
push 1
call fcn.004e5d60
mov al, byte [0x54d341]
add esp, 4
test al, al
jne 0x498ab8
push str.stubbed_out:_DrawSync
call fcn.0046cb90
add esp, 4
call fcn.00430680
mov al, byte [0x54d341]
test al, al
jne 0x498ad3
push str.stubbed_out:_DrawSync
call fcn.0046cb90
add esp, 4
push ebx
push ebp
push esi
xor ebp, ebp
push edi
mov dword [esp + 0x10], ebp
call fcn.0047a370
push 0x53c
call fcn.00455390
add esp, 4
mov dword [esp + 0x20], eax
cmp eax, ebp
mov dword [esp + 0x2c], ebp
je 0x498b19
push 0x10
push 0x100
push 0x100
push ebp
push ebp
push 0x100
mov ecx, eax
call fcn.0043f9b0
mov edi, eax
jmp 0x498b1b
xor edi, edi
mov esi, dword [esp + 0x38]
mov dword [esp + 0x2c], 0xffffffff
cmp esi, ebp
je 0x498b41
mov eax, dword [str.30_seconds]
mov ecx, edi
push eax
call fcn.0043fff0
mov ecx, dword [str.90_seconds]
push ecx
jmp 0x498b55
mov edx, dword [str.60_seconds]
mov ecx, edi
push edx
call fcn.0043fff0
mov eax, dword [str.120_seconds]
push eax
mov ecx, edi
call fcn.0043fff0
mov ecx, edi
call fcn.0043fec0
push ebp
mov ecx, edi
call fcn.0043fc80
mov dword [0x5512ec], 0x180
call fcn.00430880
call fcn.00430630
call fcn.004553e0
mov ecx, dword [0x6b4ca0]
mov al, byte [0xac08c4]
test al, al
mov dword [esp + 0x20], ecx
jne 0x498ba3
push 0xffffffffffffffff
push 1
call fcn.00505e00
add esp, 8
cmp dword [0x6a7780], ebp
jne 0x498bbd
push 0x6a7780
push str.menubg
call fcn.004cb5b0
add esp, 8
mov edx, dword [0x6a7780]
push 0x80
push 0xf0
push 0x200
mov eax, dword [edx + 4]
push ebp
push ebp
push eax
push 0xbf800000
call fcn.00509d20
mov ebx, dword [esp + 0x50]
add esp, 0x1c
cmp ebx, ebp
push 0x1d
push 0xffffffffffffffeb
push 0x96
push ebp
push 1
je 0x498c02
mov ecx, dword [str.High_Scores]
push ecx
jmp 0x498c09
mov edx, dword [0x54bba4]
push edx
push 0x26
push 0x80
call fcn.0048d9c0
add esp, 0x20
mov ecx, edi
call fcn.004401b0
cmp ebx, ebp
jne 0x498d33
mov ecx, edi
call fcn.0043fe60
test eax, eax
je 0x498d33
call fcn.0047a3f0
mov eax, dword [str.select_the_amount_of_time_in]
push 0x1000
push ebp
push eax
push 0x3c
push 0x100
call fcn.00458700
mov ecx, dword [str.which_you_wish_to_train_]
push 0x1000
push ebp
push ecx
push 0x48
push 0x100
call fcn.00458700
xor eax, eax
add esp, 0x28
mov al, byte [edi + 0x14]
sub eax, ebp
je 0x498cd1
dec eax
jne 0x498d33
cmp esi, ebp
push 0x1000
push ebp
je 0x498cac
mov edx, dword [str.collect_as_many_coins_as]
push edx
push 0xaa
push 0x100
call fcn.00458700
mov eax, dword [str.possible_in_90_seconds_]
push 0x1000
push ebp
jmp 0x498d20
mov ecx, dword [str.eliminate_as_many_opponents_as]
push ecx
push 0xaa
push 0x100
call fcn.00458700
mov edx, dword [str.possible_in_120_seconds_]
push 0x1000
push ebp
push edx
jmp 0x498d21
cmp esi, ebp
push 0x1000
push ebp
je 0x498cff
mov eax, dword [str.collect_as_many_coins_as]
push eax
push 0xaa
push 0x100
call fcn.00458700
mov ecx, dword [str.possible_in_30_seconds_]
push 0x1000
push ebp
push ecx
jmp 0x498d21
mov edx, dword [str.eliminate_as_many_opponents_as]
push edx
push 0xaa
push 0x100
call fcn.00458700
mov eax, dword [str.possible_in_60_seconds_]
push 0x1000
push ebp
push eax
push 0xb6
push 0x100
call fcn.00458700
add esp, 0x28
call fcn.0050c470
mov al, byte [0xac08c4]
test al, al
je 0x498d4b
push 1
call fcn.00506160
add esp, 4
cmp byte [edi + 0x14], 0x28
jbe 0x498d5e
push 0x661100
call fcn.00479470
add esp, 4
call fcn.00505720
cmp dword [0x54d38c], ebp
jne 0x498e83
call fcn.0048ea90
mov ecx, edi
call fcn.00440600
push 1
push 1
push 0x20220
call fcn.0050c180
add esp, 0xc
test al, al
jne 0x498e98
push 1
push 1
push 0x100
xor bl, bl
call fcn.0050c180
add esp, 0xc
test al, al
je 0x498df8
xor ecx, ecx
mov dl, byte [edi + 0x12]
mov cl, byte [edi + 0x14]
lea eax, [esp + 0x18]
shl ecx, 5
push eax
mov byte [esp + 0x18], dl
mov esi, dword [ecx + edi + 0x3c]
lea ecx, [esp + 0x20]
push ecx
push esi
mov ecx, edi
call fcn.00440110
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
and edx, 0xff
push edx
push eax
push ecx
push esi
call fcn.0050c6c0
add esp, 0x10
test al, al
je 0x498df4
mov bl, 1
mov esi, dword [esp + 0x38]
cmp byte [edi + 0x14], 0x28
jae 0x498e1f
test bl, bl
jne 0x498eb1
push 1
push 1
push 0x10010
call fcn.0050c180
add esp, 0xc
test al, al
jne 0x498eb1
mov edx, dword [esp + 0x20]
mov eax, dword [0x6b4ca0]
cmp eax, edx
jne 0x498e36
push 1
call fcn.004e5d60
add esp, 4
mov dword [0x5598b8], ebp
push 1
call fcn.004e5d60
mov al, byte [0x54d341]
add esp, 4
test al, al
jne 0x498e5c
push str.stubbed_out:_DrawSync
call fcn.0046cb90
add esp, 4
call fcn.00430680
mov eax, dword [0x5598b8]
cmp eax, ebp
jne 0x498e79
call fcn.004e5c10
mov dword [0x5598b8], 1
call fcn.0050df80
jmp 0x498b75
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x14]
mov dword fs:[0], ecx
add esp, 0x20
ret
push ebp
push 0x2000
push 0x23
mov byte [0x661121], 0
call fcn.00471c50
add esp, 0xc
jmp 0x498f0f
push ebp
push 0x2000
push 0x1f
mov byte [0x6611e1], 0
mov byte [0x661131], 0
call fcn.00471c50
xor eax, eax
add esp, 0xc
mov al, byte [edi + 0x14]
sub eax, ebp
je 0x498ef7
dec eax
je 0x498eeb
push str.Bad_time_attack_time
push ebp
call fcn.004015b0
add esp, 8
jmp 0x498f07
neg esi
sbb esi, esi
and esi, 0xffffffe2
add esi, 0x78
jmp 0x498f01
neg esi
sbb esi, esi
and esi, 0xffffffe2
add esi, 0x3c
mov dword [0x551288], esi
mov dword [esp + 0x10], 1
cmp edi, ebp
je 0x498f1b
mov eax, dword [edi]
push 1
mov ecx, edi
call dword [eax]
push 1
call fcn.004e5d60
mov al, byte [0x54d341]
add esp, 4
test al, al
jne 0x498f3b
push str.stubbed_out:_DrawSync
call fcn.0046cb90
add esp, 4
call fcn.00430680
mov al, byte [0x54d341]
test al, al
jne 0x498f56
push str.stubbed_out:_DrawSync
call fcn.0046cb90
add esp, 4
push 0x661100
call fcn.00479470
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x14]
add esp, 4
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret