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

Disassembly:
sub esp, 0x138
push esi
push edi
push str.numbers
call fcn.00441e90
fld dword [0x4a9e58]
fmul dword [0x45c6a8]
fst dword [0x4b0888]
fld dword [0x4a9e5c]
fmul dword [0x45c750]
mov dword [0x4b018c], eax
mov eax, dword [esp + 0x148]
xor edi, edi
add esp, 4
fstp dword [0x4b088c]
sub eax, edi
je 0x4371c0
dec eax
je 0x437124
dec eax
jne 0x437212
fmul dword [0x45c638]
mov dword [0x4b0884], 2
mov dword [0x4b08d4], edi
mov dword [0x4b08a4], edi
fst dword [0x4b0888]
fld dword [0x4b088c]
fmul dword [0x45c638]
fstp dword [0x4b088c]
fld dword [0x4a9e58]
fmul dword [0x45c74c]
fstp dword [0x4b08d0]
fld dword [0x4a9e58]
fmul dword [0x45c638]
mov eax, dword [0x4b08d0]
mov dword [0x4b0898], eax
fstp dword [0x4b08d8]
fld dword [0x4a9e5c]
fmul dword [0x45c74c]
mov ecx, dword [0x4b08d8]
mov dword [0x4b08a0], ecx
fstp dword [0x4b089c]
fld dword [0x4a9e5c]
fmul dword [0x45c638]
fstp dword [0x4b08dc]
jmp 0x437212
fmul dword [0x45c638]
mov dword [0x4b0884], 2
mov dword [0x4b08d0], 0
mov dword [0x4b08a0], 0
fst dword [0x4b0888]
fld dword [0x4b088c]
fmul dword [0x45c638]
fstp dword [0x4b088c]
fld dword [0x4a9e58]
fmul dword [0x45c74c]
fstp dword [0x4b0898]
fld dword [0x4a9e58]
fmul dword [0x45c638]
fstp dword [0x4b08d8]
fld dword [0x4a9e5c]
fmul dword [0x45c74c]
fstp dword [0x4b08d4]
fld dword [0x4a9e5c]
fmul dword [0x45c638]
mov edx, dword [0x4b08d4]
mov dword [0x4b089c], edx
fstp dword [0x4b08dc]
mov eax, dword [0x4b08dc]
mov dword [0x4b08a4], eax
jmp 0x437212
fld dword [0x4a9e58]
fmul dword [0x45c74c]
mov dword [0x4b0884], 1
fstp dword [0x4b0898]
fld dword [0x4a9e58]
fmul dword [0x45c638]
fstp dword [0x4b08a0]
fld dword [0x4a9e5c]
fmul dword [0x45c74c]
fstp dword [0x4b089c]
fld dword [0x4a9e5c]
fmul dword [0x45c638]
fstp dword [0x4b08a4]
fstp dword [0x4b08c0]
fld dword [0x4b08a0]
fadd dword [0x4b0898]
mov ecx, dword [0x4b088c]
mov esi, 0x4b08b0
mov dword [0x4b08c4], ecx
fmul dword [0x45c638]
fstp dword [0x4b0890]
fld dword [0x4b08a4]
fadd dword [0x4b089c]
fmul dword [0x45c638]
fstp dword [0x4b0894]
fld dword [0x4b08d8]
fadd dword [0x4b08d0]
fmul dword [0x45c638]
fstp dword [0x4b08c8]
fld dword [0x4b08dc]
fadd dword [0x4b08d4]
fmul dword [0x45c638]
fstp dword [0x4b08cc]
fld dword [esi - 0x18]
call fcn.004474b4
mov dword [esi], eax
fld dword [esi - 0x14]
call fcn.004474b4
mov dword [esi + 4], eax
fld dword [esi - 0x10]
call fcn.004474b4
mov dword [esi + 8], eax
fld dword [esi - 0xc]
call fcn.004474b4
mov dword [esi + 0xc], eax
fld dword [esi - 0x20]
call fcn.004474b4
mov dword [esi - 8], eax
fld dword [esi - 0x1c]
call fcn.004474b4
mov dword [esi - 4], eax
add esi, 0x38
cmp esi, 0x4b0920
jl 0x437289
push str.SEMICOL
call fcn.00441e90
mov ecx, dword [0x4b0884]
mov dword [0x4b06fc], eax
add esp, 4
xor eax, eax
cmp ecx, edi
mov dword [0x4b0900], eax
jle 0x437d25
push ebx
or esi, 0xffffffff
lea edx, [eax*8]
push str.SPEEDO
sub edx, eax
lea ecx, [edx*8 + 0x4b0888]
mov edx, dword [eax*4 + 0x4b0350]
mov dword [0x4b06f4], ecx
mov dword [0x4b034c], edx
call fcn.00441e90
mov ecx, dword [0x4b06f4]
mov dword [esp + 0xc0], edi
mov dword [esp + 0xf0], edi
mov dword [esp + 0xa0], edi
fld dword [ecx]
fmul dword [0x45c748]
fld dword [ecx + 4]
fmul dword [0x45c748]
mov dword [esp + 0xf8], edi
fstp dword [esp + 0x14]
fld dword [ecx + 0x18]
fsub st(1)
fld dword [ecx]
fmul dword [0x45c680]
fsubp st(1)
fld dword [ecx + 0x1c]
fsub dword [esp + 0x14]
fld dword [ecx + 4]
fmul dword [0x45c744]
mov ecx, dword [0x4b034c]
add ecx, 4
fsubp st(1)
mov dword [esp + 0x1c], ecx
mov edx, dword [eax + 0x3c]
mov dword [esp + 0x88], edx
mov dword [esp + 0x84], edi
fstp dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x50], 0x4300199a
fst dword [esp + 0x28]
fst dword [esp + 0x24]
faddp st(1)
mov edx, ecx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x34], edx
mov dword [esp + 0x4c], 0x4300199a
fst dword [esp + 0x30]
fstp dword [esp + 0x2c]
fld dword [esp + 0x10]
fadd dword [esp + 0x14]
mov dword [esp + 0x48], 0x4300199a
mov dword [esp + 0x44], 0x4300199a
fst dword [esp + 0x3c]
fstp dword [esp + 0x38]
mov ecx, dword [eax + 0x2c]
mov dword [esp + 0xbc], ecx
fild qword [esp + 0xbc]
fadd dword [0x45c638]
fst dword [esp + 0x58]
fstp dword [esp + 0x54]
mov edx, dword [eax + 0x34]
mov ecx, dword [eax + 0x2c]
add edx, ecx
mov dword [esp + 0xec], edx
fild qword [esp + 0xec]
fsub dword [0x45c638]
fst dword [esp + 0x60]
fstp dword [esp + 0x5c]
mov ecx, dword [eax + 0x30]
mov dword [esp + 0x9c], ecx
fild qword [esp + 0x9c]
fadd dword [0x45c638]
fst dword [esp + 0x70]
fstp dword [esp + 0x64]
mov edx, dword [eax + 0x38]
mov ebx, dword [eax + 0x30]
add edx, ebx
mov dword [esp + 0x80], esi
mov dword [esp + 0xf4], edx
fild qword [esp + 0xf4]
fsub dword [0x45c638]
fst dword [esp + 0x6c]
fstp dword [esp + 0x68]
lea eax, [esp + 0x1c]
mov dword [esp + 0x7c], esi
push eax
mov dword [esp + 0x7c], esi
mov dword [esp + 0x78], esi
mov dword [esp + 0x24], esi
call fcn.00433130
push str.SPEEDOFONT
call fcn.00441e90
mov ecx, dword [0x4b06f4]
mov dword [0x4b0904], eax
add esp, 0xc
xor ebx, ebx
fld dword [ecx]
fmul dword [0x45c740]
fstp dword [esp + 0x10]
fld dword [ecx + 4]
fmul dword [0x45c73c]
fld dword [esp + 0x10]
fmul dword [0x45c6b8]
fsubr dword [ecx + 0x18]
fstp dword [esp + 0xc]
fld dword [ecx + 0x1c]
fsub st(1)
fld dword [ecx + 4]
fmul dword [0x45c744]
mov ecx, dword [eax + 0x3c]
mov dword [esp + 0x80], edi
mov dword [esp + 0x84], ecx
mov dword [esp + 0x4c], 0x4300199a
fsubp st(1)
mov dword [esp + 0x48], 0x4300199a
mov dword [esp + 0x44], 0x4300199a
mov dword [esp + 0x40], 0x4300199a
mov dword [esp + 0x5c], 0
fst dword [esp + 0x3c]
fst dword [esp + 0x30]
faddp st(1)
mov dword [esp + 0x58], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x68], 0
fst dword [esp + 0x38]
fstp dword [esp + 0x34]
fld dword [esp + 0x10]
fadd dword [0x45c6b0]
mov dword [esp + 0x64], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x7c], esi
mov dword [esp + 0x78], esi
mov dword [esp + 0x74], esi
fstp dword [esp + 0x14]
mov dword [esp + 0x70], esi
mov dword [esp + 0x1c], esi
mov edx, dword [0x4b034c]
mov eax, dword [esp + 0xc]
fld dword [esp + 0xc]
fadd dword [esp + 0x10]
sub edx, ebx
mov ecx, eax
add edx, 0x2e4
mov dword [esp + 0x24], eax
mov dword [esp + 0x18], edx
lea edx, [esp + 0x18]
fst dword [esp + 0x2c]
fstp dword [esp + 0x28]
push edx
mov dword [esp + 0x24], ecx
call fcn.00433130
fld dword [esp + 0x18]
fadd dword [esp + 0x10]
add ebx, 0xb8
add esp, 4
cmp ebx, 0x228
fstp dword [esp + 0xc]
jl 0x437593
push str.GEARNUMBERS
call fcn.00441e90
mov ecx, dword [0x4b06f4]
mov dword [0x4b087c], eax
mov eax, dword [eax + 0x3c]
fld dword [ecx]
fmul dword [0x45c680]
fld dword [ecx + 4]
fmul dword [0x45c680]
fld st(1)
fadd st(0), st(0)
fsubr dword [ecx + 0x18]
fstp dword [esp + 0x10]
fld dword [ecx + 0x1c]
fsub st(1)
fld dword [ecx + 4]
fmul dword [0x45c738]
mov ecx, dword [0x4b034c]
mov edx, dword [esp + 0x10]
add ecx, 0xbc
mov dword [esp + 0x88], eax
fsubp st(1)
mov dword [esp + 0x1c], ecx
lea ecx, [esp + 0x1c]
mov eax, edx
push ecx
fst dword [esp + 0x44]
fst dword [esp + 0x38]
faddp st(1)
mov dword [esp + 0x88], edi
mov dword [esp + 0x54], 0x4300199a
mov dword [esp + 0x50], 0x4300199a
mov dword [esp + 0x4c], 0x4300199a
fst dword [esp + 0x40]
fstp dword [esp + 0x3c]
mov dword [esp + 0x48], 0x4300199a
mov dword [esp + 0x64], 0
fadd dword [esp + 0x14]
mov dword [esp + 0x60], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x74], 0
fst dword [esp + 0x34]
fstp dword [esp + 0x30]
mov dword [esp + 0x68], 0
mov dword [esp + 0x2c], edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x84], esi
mov dword [esp + 0x80], esi
mov dword [esp + 0x7c], esi
mov dword [esp + 0x78], esi
mov dword [esp + 0x24], esi
call fcn.00433130
mov eax, dword [0x4b06f4]
mov edx, dword [0x4b034c]
add edx, 0x734
fld dword [eax]
fmul dword [0x45c740]
fstp dword [esp + 0x18]
fld dword [eax]
fmul dword [0x45c73c]
fld dword [esp + 0x18]
fmul dword [0x45c68c]
fsubr dword [eax + 8]
fld dword [eax + 0x14]
fadd dword [0x45c734]
mov eax, dword [0x4b018c]
mov dword [esp + 0x20], edx
mov ecx, dword [eax + 0x3c]
mov dword [esp + 0x88], edi
fstp dword [esp + 0x14]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x8c], ecx
fst dword [esp + 0x2c]
fst dword [esp + 0x28]
fadd dword [esp + 0x18]
fst dword [esp + 0x1c]
fst dword [esp + 0x34]
fstp dword [esp + 0x30]
fadd dword [esp + 0x14]
lea ecx, [esp + 0x20]
mov eax, edx
push ecx
mov dword [esp + 0x48], edx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x58], 0x4300199a
fst dword [esp + 0x44]
fstp dword [esp + 0x40]
mov dword [esp + 0x54], 0x4300199a
mov dword [esp + 0x50], 0x4300199a
mov dword [esp + 0x4c], 0x4300199a
mov dword [esp + 0x68], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x88], esi
mov dword [esp + 0x84], esi
mov dword [esp + 0x80], esi
mov dword [esp + 0x7c], esi
mov dword [esp + 0x28], esi
call fcn.00433130
fld dword [esp + 0x20]
mov edx, dword [0x4b034c]
lea eax, [esp + 0x24]
fst dword [esp + 0x30]
fst dword [esp + 0x2c]
fadd dword [esp + 0x1c]
add edx, 0x454
push eax
mov dword [esp + 0x28], edx
fst dword [esp + 0x24]
fst dword [esp + 0x3c]
fstp dword [esp + 0x38]
call fcn.00433130
fld dword [esp + 0x24]
mov ecx, dword [0x4b034c]
lea edx, [esp + 0x28]
fst dword [esp + 0x34]
fst dword [esp + 0x30]
fadd dword [esp + 0x20]
add ecx, 0x50c
push edx
mov dword [esp + 0x2c], ecx
fst dword [esp + 0x28]
fst dword [esp + 0x40]
fstp dword [esp + 0x3c]
call fcn.00433130
fld dword [esp + 0x28]
mov eax, dword [0x4b034c]
lea ecx, [esp + 0x2c]
fst dword [esp + 0x38]
fst dword [esp + 0x34]
fadd dword [esp + 0x24]
add eax, 0x5c4
push ecx
mov dword [esp + 0x30], eax
fst dword [esp + 0x44]
fstp dword [esp + 0x40]
call fcn.00433130
mov eax, dword [0x4b06fc]
mov dword [esp + 0xc4], edi
mov dword [esp + 0xf4], edi
mov edx, dword [eax + 0x2c]
mov ecx, dword [eax + 0x30]
add edx, 5
inc ecx
mov dword [esp + 0xc0], edx
mov edx, dword [0x4b034c]
fild qword [esp + 0xc0]
mov dword [esp + 0xf0], ecx
add edx, 0x39c
fild qword [esp + 0xf0]
mov dword [esp + 0x30], edx
mov eax, dword [eax + 0x3c]
mov dword [esp + 0x9c], eax
fstp dword [esp + 0x2c]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x98], edi
fst dword [esp + 0x74]
fst dword [esp + 0x70]
fst dword [esp + 0x6c]
fstp dword [esp + 0x68]
mov edx, ecx
mov eax, ecx
mov dword [esp + 0x7c], edx
lea edx, [esp + 0x30]
push edx
mov dword [esp + 0x48], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], eax
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x98], esi
mov dword [esp + 0x94], esi
mov dword [esp + 0x90], esi
mov dword [esp + 0x8c], esi
mov dword [esp + 0x38], esi
call fcn.00433130
mov edx, dword [0x4b06f4]
add esp, 0x1c
lea eax, [esp + 0x110]
mov ecx, 0xd
fld dword [edx + 0x18]
fsub dword [0x45c730]
fst dword [eax]
fadd dword [0x45c744]
add eax, 4
dec ecx
jne 0x4379de
fstp st(0)
fld dword [edx + 0x14]
fadd dword [0x45c744]
lea eax, [esp + 0xf8]
mov ecx, 6
fst dword [eax]
fadd dword [0x45c680]
add eax, 4
dec ecx
jne 0x437a03
push str.UTURN
fstp st(0)
call fcn.00441e90
mov ecx, dword [0x4b06f4]
mov dword [esp + 0x90], edi
mov dword [esp + 0xe8], edi
mov dword [esp + 0xd0], edi
fld dword [ecx]
fmul dword [0x45c72c]
fld dword [ecx + 4]
fmul dword [0x45c72c]
mov dword [esp + 0x98], edi
fstp dword [esp + 0x14]
fld st(0)
fmul dword [0x45c638]
fsubr dword [ecx + 8]
fld dword [esp + 0x14]
fmul dword [0x45c638]
fsubr dword [ecx + 0xc]
mov ecx, dword [0x4b034c]
add ecx, 0x67c
fstp dword [esp + 0x10]
mov dword [esp + 0x1c], ecx
mov edx, dword [eax + 0x3c]
fst dword [esp + 0x28]
fst dword [esp + 0x24]
faddp st(1)
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x88], edx
mov edx, ecx
mov dword [esp + 0x84], edi
fst dword [esp + 0x30]
fstp dword [esp + 0x2c]
fld dword [esp + 0x10]
fadd dword [esp + 0x14]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x34], edx
mov dword [esp + 0x50], 0x4300199a
mov dword [esp + 0x4c], 0x4300199a
mov dword [esp + 0x48], 0x4300199a
mov dword [esp + 0x44], 0x4300199a
fst dword [esp + 0x3c]
fstp dword [esp + 0x38]
mov ecx, dword [eax + 0x2c]
mov dword [esp + 0x8c], ecx
fild qword [esp + 0x8c]
fadd dword [0x45c638]
fst dword [esp + 0x58]
fstp dword [esp + 0x54]
mov edx, dword [eax + 0x34]
mov ecx, dword [eax + 0x2c]
add edx, ecx
mov dword [esp + 0xe4], edx
fild qword [esp + 0xe4]
fsub dword [0x45c638]
fst dword [esp + 0x60]
fstp dword [esp + 0x5c]
mov ecx, dword [eax + 0x30]
mov dword [esp + 0xcc], ecx
fild qword [esp + 0xcc]
fadd dword [0x45c638]
fst dword [esp + 0x70]
fstp dword [esp + 0x64]
mov edx, dword [eax + 0x38]
mov ebx, dword [eax + 0x30]
add edx, ebx
lea eax, [esp + 0x1c]
mov dword [esp + 0x94], edx
push eax
fild qword [esp + 0x98]
mov dword [esp + 0x84], esi
mov dword [esp + 0x80], esi
mov dword [esp + 0x7c], esi
mov dword [esp + 0x78], esi
fsub dword [0x45c638]
mov dword [esp + 0x24], esi
fst dword [esp + 0x70]
fstp dword [esp + 0x6c]
call fcn.00433130
push str.REPLAY
call fcn.00441e90
mov ecx, dword [0x4b06f4]
mov dword [esp + 0xb0], edi
mov dword [esp + 0xc0], edi
mov dword [esp + 0xd0], edi
fld dword [ecx]
fmul dword [0x45c728]
fld dword [ecx + 4]
fmul dword [0x45c728]
mov dword [esp + 0xe0], edi
fstp dword [esp + 0x1c]
fld dword [ecx]
fmul dword [0x45c680]
fadd dword [ecx + 0x10]
fld dword [ecx + 4]
fmul dword [0x45c680]
fadd dword [ecx + 0x14]
mov ecx, dword [0x4b034c]
add ecx, 0x7ec
mov dword [esp + 0x24], ecx
mov edx, dword [eax + 0x3c]
fstp dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x90], edx
fst dword [esp + 0x30]
fst dword [esp + 0x2c]
faddp st(1)
mov edx, ecx
mov dword [esp + 0x8c], edi
mov dword [esp + 0x48], ecx
mov dword [esp + 0x3c], edx
fst dword [esp + 0x38]
fstp dword [esp + 0x34]
fld dword [esp + 0x18]
fadd dword [esp + 0x1c]
mov dword [esp + 0x58], 0x4300199a
mov dword [esp + 0x54], 0x4300199a
mov dword [esp + 0x50], 0x4300199a
mov dword [esp + 0x4c], 0x4300199a
fst dword [esp + 0x44]
fstp dword [esp + 0x40]
mov ecx, dword [eax + 0x2c]
mov dword [esp + 0xac], ecx
fild qword [esp + 0xac]
fadd dword [0x45c638]
fst dword [esp + 0x60]
fstp dword [esp + 0x5c]
mov edx, dword [eax + 0x34]
mov ecx, dword [eax + 0x2c]
add edx, ecx
mov dword [esp + 0xbc], edx
fild qword [esp + 0xbc]
fsub dword [0x45c638]
fst dword [esp + 0x68]
fstp dword [esp + 0x64]
mov ecx, dword [eax + 0x30]
mov dword [esp + 0xcc], ecx
fild qword [esp + 0xcc]
fadd dword [0x45c638]
fst dword [esp + 0x78]
fstp dword [esp + 0x6c]
mov edx, dword [eax + 0x38]
mov ebx, dword [eax + 0x30]
add edx, ebx
lea eax, [esp + 0x24]
mov dword [esp + 0xdc], edx
push eax
fild qword [esp + 0xe0]
mov dword [esp + 0x8c], esi
mov dword [esp + 0x88], esi
mov dword [esp + 0x84], esi
mov dword [esp + 0x80], esi
fsub dword [0x45c638]
mov dword [esp + 0x2c], esi
fst dword [esp + 0x78]
fstp dword [esp + 0x74]
call fcn.00433130
mov eax, dword [0x4b0900]
mov ecx, dword [0x4b0884]
add esp, 0x10
inc eax
mov dword [0x4b0900], eax
cmp eax, ecx
jl 0x437300
pop ebx
call fcn.0043a4c0
pop edi
pop esi
add esp, 0x138
ret