Function at 0x624020
Capabilities:
Check os version

Disassembly:
push 0xffffffffffffffff
push 0x65d7f0
mov eax, dword fs:[0]
push eax
sub esp, 0x20
push ebp
push esi
push edi
mov eax, dword [0x6d35d0]
xor eax, esp
push eax
lea eax, [esp + 0x30]
mov dword fs:[0], eax
mov esi, ecx
movzx eax, byte [esi + 0x58]
mov ecx, dword [esi + 0x1c]
push 0
push eax
push ecx
mov ecx, dword [esi + 4]
call fcn.006297b0
mov ecx, dword [esi]
mov eax, ecx
cmp eax, 0x143
jg 0x624336
je 0x62432a
sub eax, 0x3b
cmp eax, 0xf8
ja case.0x624085.60
movzx edx, byte [eax + 0x6244f4]
jmp dword [edx*4 + 0x6244b0]
lea ecx, [esi + 0x10]
call fcn.0062be20
mov dword [esi], eax
jmp 0x62446a
mov ecx, esi
call fcn.006235a0
jmp 0x62446a
mov ecx, esi
call fcn.00623760
jmp 0x62446a
mov ecx, esi
call fcn.006238d0
jmp 0x62446a
mov ecx, esi
call fcn.00623a10
jmp 0x62446a
mov ecx, esi
call fcn.00623260
jmp 0x62446a
mov ecx, esi
call fcn.00623e00
jmp 0x62446a
mov ecx, esi
call fcn.00623180
jmp 0x62446a
cmp ecx, 0x11e
jne 0x6240fe
mov edi, 0x13
jmp 0x62410a
mov eax, dword [esi + 4]
mov edi, 0x31
mov byte [eax + 0x21], 1
lea ecx, [esi + 0x10]
call fcn.0062be20
mov ecx, esi
mov dword [esi], eax
call fcn.00620060
test al, al
jne 0x62416e
mov ecx, dword [esi + 4]
mov ebp, dword [ecx + 0x64]
mov ecx, esi
call fcn.00623550
cmp edi, 0x13
jne 0x62414c
mov ecx, dword [esi + 4]
mov eax, dword [ecx + 0xd4]
test eax, eax
jle 0x62414c
push 0
push 0
push 0
push eax
push 0x39
call fcn.0061fff0
mov edx, dword [esi + 4]
push 0
mov dword [edx], ebp
mov ecx, dword [esi + 4]
push 0
call fcn.00628cb0
mov ecx, dword [esi + 4]
push eax
push 1
push edi
call fcn.0061fff0
jmp 0x62446a
cmp edi, 0x13
jne 0x62418e
mov ecx, dword [esi + 4]
mov eax, dword [ecx + 0xd4]
test eax, eax
jle 0x62418e
push 0
push 0
push 0
push eax
push 0x39
call fcn.0061fff0
mov eax, dword [esi + 4]
push 0
push 0
push 0
push 0xff
mov dword [eax], 0xffffffff
mov ecx, dword [esi + 4]
push edi
call fcn.0061fff0
jmp 0x62446a
mov ecx, dword [esi + 4]
cmp dword [ecx + 0xb0], 0
ja 0x6241c7
push str.break_has_to_be_in_a_loop_block
push esi
call fcn.00620030
mov edx, dword [ecx + 0xb0]
mov eax, dword [ecx + 0xac]
cmp dword [eax + edx*4 - 4], 0
jle 0x6241ec
mov edx, dword [eax + edx*4 - 4]
push 0
push 0
push 0
push edx
push 0x39
call fcn.0061fff0
mov ecx, dword [esi + 4]
push 0
push 0
push 0xfffffb2e
push 0
push 0x18
call fcn.0061fff0
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0x64]
dec ecx
lea edx, [esp + 0x10]
mov dword [esp + 0x10], ecx
push edx
lea ecx, [eax + 0x24]
call fcn.00628940
lea ecx, [esi + 0x10]
call fcn.0062be20
mov dword [esi], eax
jmp 0x62446a
mov ecx, dword [esi + 4]
cmp dword [ecx + 0xbc], 0
ja 0x62423f
push str.continue_has_to_be_in_a_loop_block
push esi
call fcn.00620030
mov eax, dword [ecx + 0xbc]
mov edx, dword [ecx + 0xb8]
cmp dword [edx + eax*4 - 4], 0
jle 0x624264
mov eax, dword [edx + eax*4 - 4]
push 0
push 0
push 0
push eax
push 0x39
call fcn.0061fff0
mov ecx, dword [esi + 4]
push 0
push 0
push 0xfffffb2e
push 0
push 0x18
call fcn.0061fff0
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0x64]
dec ecx
lea edx, [esp + 0x10]
mov dword [esp + 0x10], ecx
push edx
lea ecx, [eax + 0x30]
call fcn.00628940
lea ecx, [esi + 0x10]
call fcn.0062be20
mov dword [esi], eax
jmp 0x62446a
mov ecx, esi
call fcn.00621710
jmp 0x62446a
mov ecx, esi
call fcn.00622600
jmp 0x62446a
mov ecx, dword [esi + 4]
call fcn.00628220
lea ecx, [esi + 0x10]
mov edi, eax
call fcn.0062be20
mov ecx, esi
mov dword [esi], eax
call fcn.00620080
push 0x7d
lea eax, [esp + 0x2c]
push eax
mov ecx, esi
call fcn.006204c0
mov ecx, dword [esi + 4]
push edi
call fcn.00628d90
jmp 0x62446a
mov ecx, esi
call fcn.00620a10
jmp 0x62446a
lea ecx, [esi + 0x10]
call fcn.0062be20
mov ecx, esi
mov dword [esi], eax
call fcn.00623550
mov ecx, dword [esi + 4]
push 0
push 0
push 0
call fcn.00628cb0
mov ecx, dword [esi + 4]
push eax
push 0x3a
call fcn.0061fff0
jmp 0x62446a
mov ecx, esi
call fcn.006207b0
jmp 0x62446a
cmp eax, 0x144
je 0x624351
mov ecx, esi
call fcn.00623550
mov ecx, dword [esi + 4]
call fcn.00628cb0
jmp 0x62446a
lea edi, [esi + 0x10]
mov ecx, edi
call fcn.0062be20
push 0x102
lea ecx, [esp + 0x14]
push ecx
mov ecx, esi
mov dword [esi], eax
call fcn.006204c0
push 0x3d
lea edx, [esp + 0x2c]
push edx
mov ecx, esi
call fcn.006204c0
lea eax, [esp + 0x28]
push eax
mov ecx, esi
call fcn.00620700
mov eax, dword [esi]
cmp eax, 0x3b
jne 0x624487
mov ecx, edi
call fcn.0062be20
mov dword [esi], eax
mov ecx, dword [esi + 0xb4]
mov edx, dword [ecx + 0x80]
mov ecx, dword [edx + 0x38]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebp, 0x8000000
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edx
test ebp, eax
je 0x6243c7
inc dword [edx + 4]
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x38], 0
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
test ebp, eax
je 0x6243e6
inc dword [edx + 4]
lea eax, [esp + 0x20]
push eax
lea edx, [esp + 0x1c]
push edx
mov byte [esp + 0x40], 1
call fcn.0061b550
or edi, 0xffffffff
mov byte [esp + 0x38], 0
test dword [esp + 0x20], ebp
je 0x624420
mov eax, dword [esp + 0x24]
add dword [eax + 4], edi
mov ecx, dword [esp + 0x24]
cmp dword [ecx + 4], 0
ja 0x624420
mov eax, dword [ecx]
mov edx, dword [eax + 4]
call edx
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x18], 0x1000001
mov dword [esp + 0x1c], 0
test ebp, eax
je 0x624448
add dword [ecx + 4], edi
jne 0x624448
mov eax, dword [ecx]
mov edx, dword [eax + 4]
call edx
mov dword [esp + 0x38], edi
test dword [esp + 0x18], ebp
je 0x62446a
mov eax, dword [esp + 0x1c]
add dword [eax + 4], edi
mov ecx, dword [esp + 0x1c]
cmp dword [ecx + 4], 0
ja 0x62446a
mov eax, dword [ecx]
mov edx, dword [eax + 4]
call edx
mov eax, dword [esi + 4]
mov byte [eax + 0xd8], 0
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
add esp, 0x2c
ret
cmp dword [esi + 0x18], 0xa
je 0x62439c
test eax, eax
je 0x62439c
cmp eax, 0x7d
je 0x62439c
push str.end_of_statement_expected____or_lf_
push esi
call fcn.00620030
lea ecx, [ecx]
mov word [eax + 0x62], es
add byte [eax - 687840702], bh
inc eax
bound eax, qword [eax]
wait
inc eax
bound eax, qword [eax]
cmpsd dword [esi], dword es:[edi]
inc eax
bound eax, qword [eax]
mov al, 0x41
bound eax, qword [eax]
mov edi, 0xb3006240
inc eax
bound eax, qword [eax]
retf