Function at 0x40e830
Capabilities:
Check for time delay via gettickcount
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x90
push ebx
push ebp
push esi
xor esi, esi
push edi
mov dword [esp + 0x4c], esi
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], esi
call fcn.0040e6e0
mov eax, dword [esp + 0xa8]
push eax
call fcn.0040e770
mov edx, dword [esp + 0xa8]
mov ecx, dword [0x540edc]
add esp, 4
cmp edx, ecx
mov dword [esp + 0x24], esi
mov dword [esp + 0x38], esi
mov eax, 1
jbe 0x40e925
mov dword [esp + 0x38], eax
mov dword [esp + 0x24], eax
mov ecx, 8
mov eax, 0x540ed8
cmp edx, dword [eax]
jbe 0x40e8a4
sub eax, 4
dec ecx
cmp eax, 0x540eb8
jge 0x40e895
inc ecx
cmp ecx, 9
jge 0x40e8ec
mov edi, 9
mov edx, 0x540ea8
mov eax, 0x540edc
sub edi, ecx
mov esi, dword [eax - 4]
mov dword [eax], esi
lea esi, [edx - 0x10]
mov ebx, esi
add eax, 0xfffffffc
dec edi
mov ebp, dword [ebx]
mov dword [edx], ebp
mov ebp, dword [ebx + 4]
mov dword [edx + 4], ebp
mov ebp, dword [ebx + 8]
mov dword [edx + 8], ebp
mov ebx, dword [ebx + 0xc]
mov dword [edx + 0xc], ebx
mov edx, esi
jne 0x40e8bb
mov edx, dword [esp + 0xa4]
xor esi, esi
mov eax, dword [str.................]
mov dword [ecx*4 + 0x540eb8], edx
mov edx, ecx
mov dword [esp + 0x3c], ecx
shl edx, 4
add edx, 0x540e18
mov dword [esp + 0x14], esi
mov dword [edx], eax
mov eax, dword [0x43ed44]
mov dword [edx + 4], eax
mov eax, dword [0x43ed48]
mov dword [edx + 8], eax
mov eax, dword [0x43ed4c]
mov dword [edx + 0xc], eax
push esi
mov dword [esp + 0x54], 0x3da3d70a
mov dword [esp + 0x58], 0x3cda6613
mov dword [esp + 0x5c], 0xbcda6613
mov dword [esp + 0x60], 0x3d5a708f
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0xbd5a708f
call fcn.0040b9f0
add esp, 4
mov esi, 3
mov ebx, 0x540eb8
mov edi, 0x540e18
push esi
push 7
push 0xffff
push 0x10
push edi
call fcn.0040bac0
push esi
push 0x17
push 0xffff
push 0xa
push str...........
call fcn.0040bac0
mov edx, dword [ebx]
lea ecx, [esp + 0x58]
push ecx
push edx
call fcn.00408f00
mov ebp, eax
mov eax, 0x21
sub eax, ebp
push esi
push eax
push 0xffff00
lea ecx, [esp + 0x6c]
push ebp
push ecx
call fcn.0040bac0
add esp, 0x44
add edi, 0x10
add ebx, 4
inc esi
lea edx, [esi - 3]
cmp edx, 0xa
jl 0x40e96d
push 1
push 0xf
push 0xff0000
push 0xb
push str.HIGH_SCORES
call fcn.0040bac0
push 2
push 7
push 0xff
push 0x1a
push str.__________________________
call fcn.0040bac0
mov esi, dword [esp + 0xd0]
add esp, 0x28
push 2
push 0xf
push 0xffffff
push 0xb
push esi
call fcn.0040e7d0
add esp, 4
push eax
call fcn.0040bac0
push 0xd
push 7
push 0xff
push 0x1a
push str.__________________________
call fcn.0040bac0
add esp, 0x28
push 0xd
push 0xf
push 0xffffff
push 0xb
push esi
call fcn.0040e7d0
add esp, 4
push eax
call fcn.0040bac0
push 0x3e99999a
push 0x3f333333
push 0xbf490fdb
push 0x3f490fdb
call fcn.0040de60
xor esi, esi
push esi
push esi
push esi
push esi
push esi
push esi
call fcn.0040bd30
mov eax, dword [esp + 0x60]
add esp, 0x3c
cmp eax, esi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x28], 3
mov dword [esp + 0x2c], esi
je 0x40eaa7
mov ecx, dword [esp + 0x3c]
lea eax, [esp + 0x30]
push eax
mov edx, dword [ecx*4 + 0x540eb8]
push edx
call fcn.00408f00
add esp, 8
mov ebp, eax
mov dword [0x44ca4c], 1
mov dword [esp + 0x20], 0
call fcn.0040e680
mov eax, dword [esp + 0x24]
test eax, eax
je 0x40ed41
mov eax, dword [0x540738]
mov ecx, dword [esp + 0x48]
lea edx, [ecx + eax*4]
add eax, edx
and eax, 0x7ff
mov dword [esp + 0x48], eax
fld dword [eax*8 + 0x538f6c]
fadd dword [0x43923c]
fmul dword [0x439268]
fadd dword [0x43929c]
call fcn.0042ff3c
mov ebx, eax
mov eax, dword [esp + 0x3c]
lea edi, [eax + 3]
shl eax, 4
push edi
push 7
lea eax, [eax + 0x540e18]
push 0xffffff
push 0x10
push eax
mov dword [esp + 0x24], eax
call fcn.0040bac0
push edi
push 0x17
push 0xffffff
push 0xa
push str...........
call fcn.0040bac0
mov esi, ebx
mov eax, 0x21
shl esi, 8
add esi, ebx
sub eax, ebp
shl esi, 8
add esi, ebx
push edi
mov dword [esp + 0x44], eax
push eax
push esi
lea eax, [esp + 0x64]
push ebp
push eax
call fcn.0040bac0
mov ecx, dword [esp + 0x50]
push edi
add ecx, 7
push ecx
push esi
push 1
push 0x43ed24
call fcn.0040bac0
mov edx, dword [0x540738]
mov eax, dword [esp + 0x6c]
imul edx, dword [esp + 0x78]
add eax, edx
add esp, 0x50
cmp eax, 0x7c0
mov dword [esp + 0x1c], eax
jle 0x40f002
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x1c], 0x7c0
test eax, eax
jne 0x40ebb4
call fcn.004090d0
mov dword [esp + 0x2c], 1
call fcn.00409170
mov ebx, eax
test ebx, ebx
je 0x40f002
cmp ebx, 0x30
jb 0x40ebcd
cmp ebx, 0x39
jbe 0x40ebe6
cmp ebx, 0x41
jb 0x40ebd7
cmp ebx, 0x5a
jbe 0x40ebe6
cmp ebx, 0x61
jb 0x40ebe1
cmp ebx, 0x7a
jbe 0x40ebe6
cmp ebx, 0x20
jne 0x40ec08
mov esi, dword [esp + 0x14]
cmp esi, 0x10
jae 0x40ec45
mov eax, dword [esp + 0x10]
inc esi
push 0x15
mov dword [esp + 0x18], esi
mov byte [eax + esi - 1], bl
call fcn.0040ab20
add esp, 4
jmp 0x40ec45
cmp ebx, 8
je 0x40ec4c
cmp ebx, 0x1b
je 0x40ec41
cmp ebx, 0xd
je 0x40ec41
mov eax, dword [esp + 0x14]
cmp eax, 0x10
jae 0x40f002
mov ecx, dword [esp + 0x10]
inc eax
push 0x15
mov dword [esp + 0x18], eax
mov byte [ecx + eax - 1], 0x7e
call fcn.0040ab20
add esp, 4
jmp 0x40f002
mov esi, dword [esp + 0x14]
cmp ebx, 8
jne 0x40ec74
jmp 0x40ec50
mov esi, dword [esp + 0x14]
test esi, esi
jbe 0x40f002
mov edx, dword [esp + 0x10]
dec esi
push 0x15
mov dword [esp + 0x18], esi
mov byte [edx + esi], 0x2e
call fcn.0040ab20
add esp, 4
jmp 0x40f002
cmp ebx, 0x1b
jne 0x40eca2
test esi, esi
jne 0x40f002
push 0x16
call fcn.0040ab20
add esp, 4
xor eax, eax
mov dword [esp + 0x28], 0xfffffffc
mov dword [esp + 0x24], eax
mov dword [esp + 0x38], eax
jmp 0x40f002
cmp ebx, 0xd
jne 0x40f002
mov edx, dword [esp + 0x10]
mov eax, 0xf
mov cl, byte [edx + eax]
cmp cl, 0x20
je 0x40ecc1
cmp cl, 0x2e
jne 0x40ecc8
mov byte [edx + eax], 0x2e
dec eax
jns 0x40ecb4
cmp eax, 0xffffffff
je 0x40ed34
push 0x16
call fcn.0040ab20
call fcn.004090d0
mov eax, dword [esp + 0xac]
mov dword [esp + 0x28], 0
push eax
call fcn.0040e7a0
mov ecx, dword [esp + 0x18]
push edi
push 7
push 0xffff
push 0x10
push ecx
call fcn.0040bac0
push edi
push 0x17
push 0xffff
push 0xa
push str...........
call fcn.0040bac0
mov edx, dword [esp + 0x48]
push edi
push edx
push 0xffff00
lea eax, [esp + 0x6c]
push ebp
push eax
call fcn.0040bac0
add esp, 0x44
jmp 0x40f002
mov dword [esp + 0x14], 0
jmp 0x40f002
mov ecx, dword [0x540738]
mov eax, dword [esp + 0x1c]
imul ecx, dword [esp + 0x28]
add eax, ecx
cmp eax, 0x7c0
mov dword [esp + 0x1c], eax
jle 0x40effa
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x40ed76
call fcn.004090d0
mov dword [esp + 0x2c], 1
call fcn.00409100
mov esi, eax
cmp esi, 0x1b
mov dword [esp + 0x18], esi
je 0x40ed90
cmp esi, 8
je 0x40ed90
cmp esi, 0xd
jne 0x40eda2
push 0x16
call fcn.0040ab20
add esp, 4
mov dword [esp + 0x28], 0xfffffffc
cmp esi, 0x100
jbe 0x40eddc
cmp esi, dword [0x5b2ec4]
je 0x40eddc
cmp esi, dword [0x5b2ec0]
je 0x40eddc
cmp esi, dword [0x5b2ec8]
je 0x40eddc
cmp esi, dword [0x5b2ecc]
je 0x40eddc
push 0x16
call fcn.0040ab20
add esp, 4
mov dword [esp + 0x28], 0xfffffffc
cmp esi, 0x25
je 0x40edfa
cmp esi, 0x28
je 0x40edfa
cmp esi, dword [0x5b2ec8]
je 0x40edfa
cmp esi, dword [0x5b2ec4]
jne 0x40eee6
push 0x15
call fcn.0040ab20
mov eax, dword [esp + 0xac]
add esp, 4
dec eax
mov dword [esp + 0xa8], eax
jns 0x40ee24
mov edx, dword [0x5b1200]
add eax, edx
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0xa8]
push eax
call fcn.0040e770
add esp, 4
mov esi, 3
mov ebx, 0x540eb8
mov edi, 0x540e18
push esi
push 7
push 0xffff
push 0x10
push edi
call fcn.0040bac0
push esi
push 0x17
push 0xffff
push 0xa
push str...........
call fcn.0040bac0
mov edx, dword [ebx]
lea ecx, [esp + 0x58]
push ecx
push edx
call fcn.00408f00
mov ebp, eax
mov eax, 0x21
sub eax, ebp
push esi
push eax
push 0xffff00
lea ecx, [esp + 0x6c]
push ebp
push ecx
call fcn.0040bac0
add esp, 0x44
add edi, 0x10
add ebx, 4
inc esi
lea edx, [esi - 3]
cmp edx, 0xa
jl 0x40ee43
mov esi, dword [esp + 0xa8]
push 2
push 0xf
push 0xffffff
push 0xb
push esi
call fcn.0040e7d0
add esp, 4
push eax
call fcn.0040bac0
add esp, 0x14
push 0xd
push 0xf
push 0xffffff
push 0xb
push esi
call fcn.0040e7d0
add esp, 4
push eax
call fcn.0040bac0
mov esi, dword [esp + 0x2c]
add esp, 0x14
cmp esi, 0x27
je 0x40ef04
cmp esi, 0x26
je 0x40ef04
cmp esi, dword [0x5b2ecc]
je 0x40ef04
cmp esi, dword [0x5b2ec0]
jne 0x40eff0
push 0x15
call fcn.0040ab20
mov eax, dword [esp + 0xac]
mov ecx, dword [0x5b1200]
add esp, 4
inc eax
cmp eax, ecx
mov dword [esp + 0xa8], eax
jne 0x40ef32
mov dword [esp + 0xa8], 0
mov eax, dword [esp + 0xa8]
push eax
call fcn.0040e770
add esp, 4
mov esi, 3
mov ebx, 0x540eb8
mov edi, 0x540e18
push esi
push 7
push 0xffff
push 0x10
push edi
call fcn.0040bac0
push esi
push 0x17
push 0xffff
push 0xa
push str...........
call fcn.0040bac0
mov edx, dword [ebx]
lea ecx, [esp + 0x58]
push ecx
push edx
call fcn.00408f00
mov ebp, eax
mov eax, 0x21
sub eax, ebp
push esi
push eax
push 0xffff00
lea ecx, [esp + 0x6c]
push ebp
push ecx
call fcn.0040bac0
add esp, 0x44
add edi, 0x10
add ebx, 4
inc esi
lea edx, [esi - 3]
cmp edx, 0xa
jl 0x40ef51
mov esi, dword [esp + 0xa8]
push 2
push 0xf
push 0xffffff
push 0xb
push esi
call fcn.0040e7d0
add esp, 4
push eax
call fcn.0040bac0
add esp, 0x14
push 0xd
push 0xf
push 0xffffff
push 0xb
push esi
call fcn.0040e7d0
add esp, 4
push eax
call fcn.0040bac0
add esp, 0x14
mov dword [esp + 0x1c], 0x7c0
jmp 0x40f002
test eax, eax
jl 0x40f4a1
mov eax, dword [esp + 0x1c]
sar eax, 3
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fstp dword [esp + 0x18]
mov eax, dword [esp + 0x18]
push eax
push eax
push eax
call fcn.0040bca0
mov ecx, dword [0x540738]
mov edx, dword [esp + 0x4c]
add esp, 0xc
xor edi, edi
lea esi, [edx + ecx*4]
mov dword [esp + 0x40], esi
and esi, 0x7ff
lea eax, [edi + 0xf]
push 1
push eax
fld dword [esi*8 + 0x538f6c]
fadd dword [0x43923c]
fmul dword [0x439268]
fadd dword [0x43929c]
call fcn.0042ff3c
mov ecx, eax
mov edx, 0xff0000
shl ecx, 8
sub ecx, eax
shl ecx, 8
sub edx, ecx
push edx
call fcn.0040bb50
add esp, 0xc
add esi, 0x190
inc edi
cmp edi, 0xb
jl 0x40f037
mov eax, dword [0x540738]
mov ecx, dword [esp + 0x44]
lea eax, [ecx + eax*2]
and eax, 0x7ff
mov dword [esp + 0x44], eax
fld dword [eax*8 + 0x538f6c]
fadd dword [0x43923c]
fmul dword [0x439298]
fadd dword [0x43929c]
call fcn.0042ff3c
mov esi, eax
mov eax, dword [esp + 0x24]
push 0xe
push 0xc
test eax, eax
push 0xff0000
push 0xf
je 0x40f0f2
push str.ENTER_YOUR_NAME
call fcn.0040bac0
mov edx, esi
push 0xe
shl edx, 8
add edx, esi
shl edx, 8
add edx, esi
push edx
call fcn.0040bb10
add esp, 0x1c
jmp 0x40f0ff
push str.
call fcn.0040bac0
add esp, 0x14
call fcn.00405c40
test eax, eax
je 0x40eab9
xor ebx, ebx
push ebx
call fcn.004056e0
mov eax, dword [0x44c1e4]
add esp, 4
cmp eax, ebx
je 0x40f1a7
mov esi, dword [esp + 0x1c]
push 1
sar esi, 4
call fcn.004056b0
mov eax, dword [0x540738]
mov dword [esp + 0x98], ebx
mov dword [esp + 0x94], eax
add esp, 4
fild qword [esp + 0x90]
fmul dword [0x439294]
fadd dword [esp + 0x20]
fst dword [esp + 0x20]
fcomp dword [0x43923c]
fnstsw ax
test ah, 0x41
jne 0x40f178
fld dword [esp + 0x20]
fsub dword [0x43923c]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
mov ecx, esi
shl ecx, 8
add ecx, esi
shl ecx, 8
fchs
fstp dword [esp + 0x18]
mov eax, dword [esp + 0x18]
add ecx, esi
push ecx
push 0x40400000
push 0x40400000
push eax
push eax
call fcn.0040deb0
add esp, 0x14
push 3
call fcn.004056b0
push 1
call fcn.00405720
mov edx, dword [esp + 0x24]
sar edx, 6
push edx
call fcn.0040baa0
push ebx
call fcn.00405720
mov eax, dword [0x540738]
mov esi, dword [esp + 0x5c]
lea ecx, [esp + 0x78]
lea eax, [eax + eax*2]
push ecx
shr eax, 1
add esi, eax
mov dword [esp + 0x60], esi
call fcn.004012b0
lea edx, [esp + 0x7c]
push esi
push edx
call fcn.00401400
lea eax, [esp + 0x84]
push 0x190
push eax
call fcn.004012f0
mov edx, dword [0x580010]
lea ecx, [esp + 0x8c]
push ecx
push edx
call fcn.00401610
mov eax, dword [0x57ec3c]
push 0x3da3d70a
push 0x3d449ba6
push 0x3d0f5c29
push eax
call fcn.0040be30
lea ecx, [esp + 0xa4]
push ecx
call fcn.004012b0
mov edx, 0xc8
add esp, 0x40
sub edx, esi
lea eax, [esp + 0x68]
push edx
push eax
call fcn.00401400
lea ecx, [esp + 0x70]
push 0x190
push ecx
call fcn.004012f0
mov eax, dword [0x580010]
lea edx, [esp + 0x78]
push edx
push eax
call fcn.00401610
mov ecx, dword [0x57ec3c]
push 0x3da3d70a
push 0x3d449ba6
push 0xbd0f5c29
push ecx
call fcn.0040be30
push 1
call fcn.004056e0
lea edx, [esp + 0x94]
push edx
call fcn.004012b0
lea eax, [esp + 0x98]
push esi
push eax
call fcn.00401400
mov edi, esi
lea ecx, [esp + 0xa0]
shr edi, 1
push edi
push ecx
call fcn.004012f0
add esp, 0x40
lea edx, [esp + 0x68]
push edx
mov eax, dword [0x5810ac]
push eax
call fcn.00401610
mov ecx, dword [0x540738]
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xa0], ecx
add esp, 8
fild qword [esp + 0x98]
lea ecx, [esp + 0x5c]
mov edx, 3
fmul dword [0x439290]
fld st(0)
fadd dword [ecx]
fst dword [esp + 0x10]
fstp dword [ecx]
fld dword [esp + 0x10]
fcomp qword [0x439288]
fnstsw ax
test ah, 0x41
jne 0x40f328
fld dword [esp + 0x10]
fsub dword [0x439280]
fstp dword [ecx]
add ecx, 4
dec edx
jne 0x40f301
lea ecx, [esp + 0x50]
mov edx, 3
fld dword [ecx]
fsub st(1)
fst dword [esp + 0x10]
fstp dword [ecx]
fld dword [esp + 0x10]
fcomp qword [0x439278]
fnstsw ax
test ah, 1
je 0x40f35e
fld dword [esp + 0x10]
fadd dword [0x439280]
fstp dword [ecx]
add ecx, 4
dec edx
jne 0x40f337
mov edx, dword [esp + 0x50]
mov eax, dword [0x57ac14]
push 0x3dcccccd
push edx
push 0x3da3d70a
push eax
fstp st(0)
call fcn.0040be30
mov ecx, dword [esp + 0x64]
mov edx, dword [0x57ac14]
push 0x3dcccccd
push ecx
push 0x3da3d70a
push edx
call fcn.0040be30
mov eax, dword [esp + 0x78]
mov ecx, dword [0x57ac14]
push 0x3dcccccd
push eax
push 0x3da3d70a
push ecx
call fcn.0040be30
mov edx, dword [esp + 0x8c]
mov eax, dword [0x57ac14]
push 0x3dcccccd
push edx
push 0xbda3d70a
push eax
call fcn.0040be30
mov ecx, dword [esp + 0xa0]
mov edx, dword [0x57ac14]
add esp, 0x40
push 0x3dcccccd
push ecx
push 0xbda3d70a
push edx
call fcn.0040be30
mov eax, dword [esp + 0x74]
mov ecx, dword [0x57ac14]
push 0x3dcccccd
push eax
push 0xbda3d70a
push ecx
call fcn.0040be30
lea edx, [esp + 0x88]
push edx
call fcn.004012b0
lea eax, [esp + 0x8c]
push esi
push eax
call fcn.00401400
lea ecx, [esp + 0x94]
push edi
push ecx
call fcn.004012f0
mov eax, dword [0x57abd0]
lea edx, [esp + 0x9c]
push edx
push eax
call fcn.00401610
mov ecx, dword [0x57eda0]
push 0x3e0f5c29
push 0xbdc28f5c
push 0x3da3d70a
push ecx
call fcn.0040be30
mov eax, dword [0x57abd8]
add esp, 0x4c
lea edx, [esp + 0x68]
push edx
push eax
call fcn.00401610
mov ecx, dword [0x57eda8]
push 0x3e0f5c29
push 0xbdc28f5c
push 0xbda3d70a
push ecx
call fcn.0040be30
add esp, 0x18
call fcn.00405cd0
jmp 0x40eab9
mov eax, dword [esp + 0x38]
xor esi, esi
cmp eax, esi
je 0x40f4b0
call fcn.0040e6c0
mov dword [0x44ca4c], esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x90
ret