Function at 0x424614
Capabilities:
Check for time delay via gettickcount
Check os version
Get number of processors
Move file
Print debug messages
Resolve function by parsing pe exports
Set environment variable

Disassembly:
cmp dword [0x4c2ffc], 0
je 0x4236fa
cmp dword [0x4c2fec], 0
je 0x4236e8
mov eax, dword [0x4c2fe4]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov dword [0x4c2fec], 0
call dword [sym.imp.USER32.dll_CloseClipboard]
xor eax, eax
mov dword [0x4c2ffc], eax
mov dword [0x4c2fe4], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edx, dword [0x4bd4c4]
mov ecx, eax
sub ecx, dword [0x4c38b4]
cmp ecx, dword [edx + 0xd0]
jbe 0x423747
push 0
push 0
push 0
push 0
lea eax, [esp + 0xf4]
push eax
call dword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
je 0x42373c
push 1
push 0xffffffffffffffff
call 0x423e85
add esp, 8
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x4c38b4], eax
cmp byte [ebx + 0xe4], 0
jne 0x423778
cmp byte [ebx + 0xe6], 0
jne 0x423778
mov edx, dword [0x4c38a8]
cmp edx, 0xffffffff
jle 0x423778
mov ecx, dword [ebx + 0x28]
cmp ecx, edx
jle 0x423774
mov byte [ebx + 0xe4], 1
jmp 0x423778
inc ecx
mov dword [ebx + 0x28], ecx
mov ecx, dword [ebx + 4]
mov edx, dword [ebx]
cmp ecx, 0xffffffff
jl 0x42379b
jg 0x423789
cmp edx, 0xffffffff
jbe 0x42379b
cmp dword [0x4c38a4], ecx
jg 0x4237ad
jl 0x42379b
cmp dword [0x4c38a0], edx
jae 0x4237ad
mov ecx, dword [ebx + 0x24]
cmp ecx, 0xffffffff
jle 0x4237b9
sub eax, dword [0x4c38b0]
cmp eax, ecx
jb 0x4237b9
push 1
push 0xa
call 0x423f02
add esp, 8
cmp byte [ebx + 0xee], 0
je 0x4237da
push 1
push 0x8000012f
call 0x423f1a
add esp, 8
cmp byte [ebx + 0xee], 0
jne 0x4237c2
mov dword [0x4c341c], esi
cmp byte [ebx + 0xef], 0
je 0x423822
mov ecx, dword [0x4c2f30]
mov dword [ecx*4 + 0x4c28f0], esi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
adc eax, sym.imp.KERNEL32.dll_GetTickCount
mov ecx, dword [0x4c2f30]
mov dword [ecx*4 + 0x4c0630], eax
inc ecx
mov dword [0x4c2f30], ecx
cmp ecx, 0x190
jl 0x423822
mov dword [0x4c2f30], 0
mov al, byte [esi]
cmp al, 1
je 0x423845
cmp al, 0x6a
je 0x423845
mov edx, dword [ebp + 0xc]
push 0
push 0xffffffffffffffff
push edx
push esi
call fcn.00474826
mov edi, eax
cmp edi, 1
jne 0x427493
mov al, byte [esi]
cmp al, 0xa
jb 0x4239b2
cmp al, 0x21
ja 0x4239b2
add dword [0x4c38a0], 1
push esi
adc dword [0x4c38a4], 0
call fcn.0044a897
cmp eax, 3
jne 0x42390a
mov ecx, dword [esi + 0x14]
cmp byte [ecx], 0x6e
jne 0x4238a2
lea esp, [esp]
mov edx, dword [ebp + 0xc]
mov ecx, dword [ecx + 0x14]
lea eax, [esp + 0x44]
push eax
push edx
push 2
call fcn.004462ef
mov ecx, dword [esi + 0x14]
mov edi, eax
mov eax, dword [esp + 0x44]
cmp eax, ecx
je 0x423880
jmp 0x4238b8
mov edx, dword [ebp + 0xc]
lea eax, [esp + 0x44]
push eax
push edx
push 3
call fcn.0044630e
mov edi, eax
mov eax, dword [esp + 0x44]
cmp eax, esi
je 0x424524
cmp dword [ebp + 8], 3
je 0x42748d
cmp edi, 1
jne 0x42748d
test eax, eax
je 0x4238ec
mov ecx, dword [eax + 0x1c]
cmp ecx, dword [esi + 0x1c]
jne 0x4274d6
mov dword [esp + 0x30], eax
jmp 0x424520
mov esi, dword [esi + 0x18]
cmp byte [esi], 9
mov dword [esp + 0x30], esi
jne 0x424520
mov edx, esi
mov eax, dword [edx + 0x18]
mov dword [esp + 0x30], eax
jmp 0x424520
mov esi, dword [esi + 0x18]
cmp byte [esi], 9
mov dword [esp + 0x30], esi
jne 0x42398c
mov ecx, dword [esi + 0x14]
cmp byte [ecx], 0x6e
jne 0x423942
mov edi, edi
mov eax, dword [ebp + 0xc]
mov ecx, dword [ecx + 0x14]
lea edx, [esp + 0x44]
push edx
push eax
push 2
call fcn.0044638f
mov ecx, dword [esi + 0x14]
mov edi, eax
mov eax, dword [esp + 0x44]
cmp eax, ecx
je 0x423920
jmp 0x423958
mov eax, dword [ebp + 0xc]
lea edx, [esp + 0x44]
push edx
push eax
push 3
call 0x4463ae
mov edi, eax
mov eax, dword [esp + 0x44]
cmp dword [ebp + 8], 3
je 0x42748d
cmp edi, 1
jne 0x42748d
test eax, eax
je 0x423984
mov ecx, dword [eax + 0x1c]
cmp ecx, dword [esi + 0x1c]
jne 0x4274d6
mov dword [esp + 0x30], eax
jmp 0x424520
mov edx, dword [esi + 0x18]
jmp 0x42451c
cmp dword [ebp + 8], 3
jne 0x424520
mov eax, 1
mov ecx, dword [esp + 0x934]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
movzx eax, al
add eax, 0xfffffff8
cmp eax, 0xd0
ja case.0x4239ca.9
movzx eax, byte [eax + 0x427724]
jmp dword [eax*4 + 0x4276f4]
mov ecx, 1
add dword [0x4c38a0], ecx
adc dword [0x4c38a4], 0
mov eax, dword [esi + 0x18]
test eax, eax
je 0x423a64
xor ebx, ebx
cmp dword [esi + 0xc], ecx
mov edx, eax
sete bl
mov dword [esp + 0x68], edx
test ebx, ebx
je 0x423a16
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 0xb4]
mov dword [eax + 0xb8], ecx
mov dword [eax + 0xb4], 0
mov ecx, edx
call 0x4240b9
test ebx, ebx
mov ebx, dword [esp + 0x50]
mov edi, eax
je 0x423a3d
mov edx, dword [ebx + 0xb8]
mov dword [ebx + 0xb4], edx
mov dword [ebx + 0xb8], 0
test edi, edi
je 0x427493
cmp edi, 8
je 0x427493
cmp dword [ebp + 8], 3
je 0x4274ac
mov eax, dword [esi + 0x14]
mov dword [esp + 0x30], eax
jmp 0x424520
push esi
mov bl, cl
call fcn.00460f78
mov edx, eax
mov dword [esp + 0x68], edx
test edx, edx
je 0x423bbe
mov ecx, dword [esp + 0x50]
cmp dword [ecx + 0xb4], 0
je 0x423a9d
mov eax, dword [edx + 4]
call fcn.0046106b
test eax, eax
je 0x423a9d
mov ebx, 1
jmp 0x4239fc
xor ebx, ebx
jmp 0x423a16
add dword [0x4c38a0], 1
adc dword [0x4c38a4], 0
mov eax, dword [esi + 0x18]
mov dword [esp + 0x68], eax
test eax, eax
jne 0x423ad1
push esi
mov bl, 1
call fcn.00460fd1
mov dword [esp + 0x68], eax
test eax, eax
je 0x423bbe
cmp dword [ebp + 8], 3
mov ecx, dword [esp + 0x50]
mov dword [ecx + 0xbc], eax
je 0x4274d3
mov ecx, dword [eax + 4]
mov edx, dword [esi + 0x1c]
cmp edx, dword [ecx + 0x1c]
jne 0x4274d3
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x30], ecx
jmp 0x424520
add dword [0x4c38a0], 1
mov eax, dword [esp + 0x94]
adc dword [0x4c38a4], 0
mov eax, dword [eax + 0xc]
mov dword [esp + 0x5c], eax
test eax, eax
jne 0x423b37
mov ecx, dword [0x4c0c70]
push eax
push ecx
mov ecx, 0x4c3000
call fcn.0044404f
mov dword [esp + 0x5c], eax
mov edi, 1
test eax, eax
je 0x423c4d
mov eax, dword [0x4c0c74]
cmp word [eax], 0
je 0x423b65
push 0x49f178
push eax
call 0x4a4d2f
add esp, 8
test eax, eax
jne 0x423b65
mov al, 1
jmp 0x423b67
xor al, al
lea edx, [esp + 0x68]
push edx
push eax
mov eax, dword [esp + 0x64]
push eax
xor eax, eax
call fcn.0048f355
mov edx, dword [esp + 0x68]
mov dword [esp + 0x60], eax
test edx, edx
je 0x423c41
mov eax, dword [edx + 4]
mov edi, dword [eax + 0x1c]
test edi, edi
je 0x423bd7
mov ecx, dword [esi + 0x1c]
test ecx, ecx
je 0x423bab
lea ebx, [ebx]
cmp edi, ecx
je 0x423bd7
mov ecx, dword [ecx + 0x1c]
test ecx, ecx
jne 0x423ba0
push 0x4a5c64
push 0
push str.A_Goto_Gosub_must_not_jump_into_a_block_that_doesnt_enclose_it.
mov ecx, esi
call fcn.0044e65a
xor eax, eax
mov ecx, dword [esp + 0x934]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov edi, dword [ebx + 0xb4]
test edi, edi
je 0x423c76
call fcn.004611c6
test eax, eax
je 0x423c76
mov dword [esp + 0x54], 1
mov dword [ebx + 0xb8], edi
mov dword [ebx + 0xb4], 0
mov ecx, edx
call 0x4242ad
cmp dword [esp + 0x54], 0
mov edi, eax
je 0x423c30
mov ecx, dword [ebx + 0xb8]
mov dword [ebx + 0xb4], ecx
mov dword [ebx + 0xb8], 0
test edi, edi
je 0x427493
cmp edi, 8
je 0x427493
cmp dword [esp + 0x60], 0
mov eax, 0x49c138
jne 0x423c52
mov eax, 0x49eb0c
mov ecx, dword [0x4c1688]
push 1
push 0
push 0xffffffffffffffff
push eax
call fcn.0048c900
cmp dword [ebp + 8], 3
je 0x4274ac
mov edx, dword [esi + 0x14]
jmp 0x42451c
mov dword [esp + 0x54], 0
jmp 0x423c0a
mov eax, dword [esi + 0xc]
mov dword [esp + 0x38], eax
cmp eax, 4
jne 0x423ca5
mov ebx, dword [0x4c0c70]
push 0
call fcn.00435df5
add esp, 4
mov dword [esp + 0x7c], eax
jmp 0x423d93
cmp eax, 1
ja 0x423d45
movzx eax, byte [esi + 1]
sub eax, 0
je 0x423d12
dec eax
mov eax, dword [0x4c0c70]
je 0x423cfe
push str.Read
push eax
call 0x4a4e9f
add esp, 8
test eax, eax
jne 0x423cde
mov dword [esp + 0x38], 5
jmp 0x423dde
mov ebx, dword [0x4c0c70]
push 0
call fcn.00435e47
xor ecx, ecx
add esp, 4
test eax, eax
setne cl
add ecx, 3
mov dword [esp + 0x38], ecx
jmp 0x423d3d
push 0
push 1
push 1
push 1
call fcn.00489ec7
add esp, 0x10
test eax, eax
je 0x423d1f
mov dword [esp + 0x38], 2
jmp 0x423dde
mov ebx, dword [0x4c0c70]
push 0
call fcn.00435e88
xor edx, edx
add esp, 4
test eax, eax
setne dl
add edx, 3
mov dword [esp + 0x38], edx
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x38]
cmp eax, 3
jne 0x423d8e
cmp byte [esi + 1], 1
ja 0x423d5e
mov dword [esp + 0x70], 1
jmp 0x423d75
mov esi, dword [0x4c0c74]
call fcn.00436b15
mov dword [esp + 0x70], eax
test eax, eax
je 0x4275ba
mov eax, dword [0x4c0c78]
cmp word [eax], 0x31
jne 0x423dd1
cmp word [eax + 2], 0
jne 0x423dd1
mov byte [esp + 0x6c], 1
jmp 0x423dd6
cmp eax, 4
jne 0x423dde
cmp byte [esi + 1], 2
ja 0x423da3
mov dword [esp + 0x70], 1
jmp 0x423dba
mov esi, dword [0x4c0c78]
call fcn.00436b5a
mov dword [esp + 0x70], eax
test eax, eax
je 0x4275e8
mov eax, dword [0x4c0c7c]
cmp word [eax], 0x31
jne 0x423dd1
cmp word [eax + 2], 0
mov byte [esp + 0x6c], 1
je 0x423dd6
mov byte [esp + 0x6c], 0
mov ebx, dword [esp + 0x50]
mov esi, dword [esp + 0x30]
xor edx, edx
mov byte [esp + 0x37], 0
mov dword [esp + 0x44], edx
mov eax, dword [esi + 0x18]
cmp byte [eax], 0x6b
mov dword [esp + 0x54], eax
jne 0x423e02
mov dword [esp + 0x3c], eax
mov eax, dword [eax + 0x14]
mov dword [esp + 0x54], eax
jmp 0x423e06
mov dword [esp + 0x3c], edx
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
mov dword [esp + 0x9c], eax
mov eax, dword [ebx + 0x14]
mov dword [esp + 0x5c], eax
mov eax, dword [ebx + 0x1c]
mov dword [esp + 0x98], ecx
mov ecx, dword [ebx + 0x10]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x60], ecx
mov ecx, dword [ebx + 0x18]
add eax, 0xfffffffe
mov dword [esp + 0x88], ecx
mov dword [ebx + 8], 1
mov dword [ebx + 0xc], edx
cmp eax, 6
ja case.default.0x423e53
jmp dword [eax*4 + 0x4277f8]
cmp byte [esi + 1], dl
jbe 0x423e7a
xor edi, edi
mov ecx, esi
call fcn.00441054
cmp byte [esi], 8
jne 0x423e73
mov ecx, eax
or ecx, edx
je 0x423e7c
mov byte [esp + 0x74], 0
jmp 0x423e81
xor eax, eax
mov byte [esp + 0x74], 1
mov ecx, dword [esp + 0x74]
push ecx
push edx
mov edx, dword [esp + 0x44]
push eax
push edx
mov edx, dword [ebp + 0xc]
lea eax, [esp + 0x54]
push eax
lea ecx, [esp + 0x4b]
push ecx
push edx
mov edi, esi
call fcn.0044c4be
mov edi, eax
jmp case.default.0x423e53
mov ebx, dword [ebp + 0xc]
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0x3b]
push ecx
mov edi, esi
call fcn.0044c5c9
mov edi, eax
jmp 0x4240d2
mov edx, dword [esp + 0x3c]
push edx
mov edx, dword [ebp + 0xc]
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x3f]
push ecx
push edx
push esi
call fcn.0044c749
mov edi, eax
jmp case.default.0x423e53
mov eax, dword [0x4c0c78]
push 0x4a2868
push eax
call 0x4a50c9
add esp, 8
test eax, eax
je 0x423f1b
mov ecx, dword [esp + 0x3c]
push ecx
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x48]
push edx
lea eax, [esp + 0x3f]
push eax
push ecx
push esi
call fcn.0044d3e0
mov edi, eax
jmp case.default.0x423e53
mov edx, dword [esp + 0x3c]
push edx
mov edx, dword [ebp + 0xc]
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x3f]
push ecx
push edx
push esi
call fcn.0044d6e0
mov edi, eax
jmp case.default.0x423e53
lea esi, [esp + 0xb4]
call fcn.00437143
or esi, 0xffffffff
mov dword [esp + 0xb4], vtable.TextFile.0
mov dword [esp + 0xdc], esi
mov dword [esp + 0x93c], 0
mov eax, dword [0x4c0c74]
cmp word [eax], 0
je 0x424022
mov ecx, dword [esp + 0x50]
mov edi, dword [ecx + 0xf0]
push 0x30c
push eax
lea ecx, [esp + 0xbc]
and edi, 0x7fffffff
mov dword [esp + 0xc4], 0
call dword [0x4a3800]
test al, al
je 0x424022
mov eax, edi
mov ebx, 0x30c
lea ecx, [esp + 0xb4]
call fcn.00488387
test al, al
je 0x424022
mov eax, dword [esp + 0x3c]
mov ebx, dword [ebp + 0xc]
lea edx, [esp + 0xb4]
push edx
push eax
mov eax, dword [esp + 0x38]
lea ecx, [esp + 0x4c]
push ecx
mov ecx, dword [0x4c0c78]
lea edx, [esp + 0x43]
push edx
push eax
call fcn.0044da95
mov edx, dword [esp + 0xb4]
mov edi, eax
mov eax, dword [edx + 8]
lea ecx, [esp + 0xb4]
call eax
lea ecx, [esp + 0xb4]
mov byte [esp + 0xcc], 1
mov dword [esp + 0x93c], esi
call fcn.00437465
mov esi, dword [esp + 0x30]
jmp 0x4240d2
lea ecx, [esp + 0xb4]
mov edi, 1
mov dword [esp + 0x93c], esi
call fcn.00437486
mov esi, dword [esp + 0x30]
jmp 0x4240d2
mov ecx, dword [0x4c0c70]
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x40]
push edx
push eax
push ecx
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x54]
push edx
lea eax, [esp + 0x4b]
push eax
push ecx
mov ecx, esi
call fcn.0044cc5a
mov edi, eax
jmp case.default.0x423e53
mov ebx, dword [0x4c0c70]
lea edx, [esp + 0x67]
push edx
call fcn.004361de
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x4240cd
mov eax, dword [0x4c0c74]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x6c]
push eax
mov eax, dword [esp + 0x74]
push ebx
push ecx
mov ecx, dword [esp + 0x48]
push edx
push eax
push ecx
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x5c]
push edx
lea eax, [esp + 0x53]
push eax
push ecx
mov ecx, esi
call fcn.0044d187
cmp byte [esp + 0x67], 0
mov edi, eax
je 0x4240d2
push ebx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x4240d2
mov edi, 1
mov ebx, dword [esp + 0x50]
mov edx, dword [esp + 0x98]
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x60]
mov dword [ebx + 8], edx
mov edx, dword [esp + 0x5c]
mov dword [ebx + 0xc], eax
mov eax, dword [esp + 0x88]
mov dword [ebx + 0x10], ecx
mov ecx, dword [esp + 0x48]
mov dword [ebx + 0x14], edx
mov dword [ebx + 0x18], eax
mov dword [ebx + 0x1c], ecx
test edi, edi
je 0x427493
cmp edi, 7
je 0x427493
cmp edi, 8
je 0x427493
cmp byte [esp + 0x37], 0
jne 0x424524
cmp dword [ebp + 8], 3
je 0x427615
mov eax, dword [esp + 0x44]
test eax, eax
je 0x424157
mov edx, dword [eax + 0x1c]
cmp edx, dword [esi + 0x1c]
jne 0x427624
mov dword [esp + 0x30], eax
mov esi, eax
jmp 0x424524
mov eax, dword [esp + 0x54]
mov dword [esp + 0x30], eax
jmp 0x424520
cmp dword [esi + 0xc], 1
jne 0x424176
mov ecx, dword [esi + 0x18]
mov dword [esp + 0x30], ecx
jmp 0x424520
mov eax, dword [ebp + 0xc]
mov ecx, dword [esi + 0x14]
lea edx, [esp + 0x44]
push edx
push eax
push 2
call fcn.00446be5
mov edi, eax
mov eax, dword [esp + 0x44]
cmp eax, esi
je 0x424524
cmp dword [ebp + 8], 3
je 0x42748d
cmp edi, 1
jne 0x42748d
test eax, eax
je 0x423984
mov ecx, dword [esi + 0x1c]
cmp ecx, dword [eax + 0x1c]
jne 0x4274d6
mov dword [esp + 0x30], eax
mov esi, eax
jmp 0x424524
mov eax, dword [esp + 0x30]
mov esi, dword [0x4c0cc0]
mov ebx, dword [0x4bd4c4]
mov edi, 1
add dword [0x4c38a0], edi
mov edx, 0
mov dword [esp + 0x3c], esi
adc dword [0x4c38a4], edx
mov al, byte [eax]
movzx ecx, al
dec ecx
cmp ecx, 0xd9
ja case.0x42420c.8
movzx ecx, byte [ecx + 0x427a90]
jmp dword [ecx*4 + 0x427814]
mov edx, dword [esp + 0x30]
push edx
call fcn.0045b5b9
jmp 0x4244fd
mov eax, dword [esp + 0x30]
cmp byte [eax + 1], 1
mov ebx, dword [0x4c0c74]
jbe 0x42428f
mov eax, dword [eax + 8]
cmp byte [eax + 0x11], dl
jne case.0x42420c.3
mov eax, dword [eax + 0x1c]
cmp eax, edx
je 0x424251
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
push edx
jmp 0x4244f7
mov eax, dword [0x4c0cc4]
cmp eax, edx
je 0x42428f
cmp word [ebx], dx
jne 0x42428f
mov cl, byte [eax + 0x17]
test cl, cl
jne 0x42426c
mov ecx, dword [eax + 0xc]
mov cl, byte [ecx + 0x17]
movzx ecx, cl
sub ecx, edi
je 0x424283
sub ecx, 2
jne 0x42428f
push esi
call fcn.0048c9da
jmp 0x4244fd
mov ecx, esi
call fcn.0048c7d6
jmp 0x4244fd
push 1
push 0
push 0xffffffffffffffff
push ebx
mov ecx, esi
call fcn.0048cf39
jmp 0x4244fd
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 8]
cmp dword [eax + 0x1c], edx
je 0x4242bd
cmp byte [eax + 0x11], dl
jne 0x4242bd
mov dword [esp + 0x38], edi
mov ebx, edi
xor edi, edi
jmp 0x4242fb
mov edi, dword [0x4c0cc4]
mov eax, dword [0x4c0c74]
mov dword [esp + 0x38], edx
cmp edi, edx
je 0x4242e7
cmp word [eax], dx
jne 0x4242e7
mov cl, byte [edi + 0x17]
test cl, cl
jne 0x4242e2
mov ecx, dword [edi + 0xc]
mov cl, byte [ecx + 0x17]
cmp cl, 1
je 0x424344
xor edi, edi
push 1
push 1
push 0
push 1
call fcn.0048a4b2
add esp, 0x10
mov ebx, eax
push 1
mov eax, esi
call fcn.00435c50
mov edx, dword [0x4c0c78]
mov dword [esp + 0x48], eax
movzx eax, word [edx]
test ax, ax
je 0x42449a
call fcn.0042c6ab
movzx eax, ax
push eax
push str.SMHD
call 0x4a627a
add esp, 8
test eax, eax
je 0x42449a
test ebx, ebx
jne 0x424353
lea edi, [ebx + 1]
jmp case.0x42420c.3
cmp edi, edx
je 0x4242e9
push 1
mov eax, edi
call fcn.00435c9d
jmp 0x4242f9
cmp dword [esp + 0x38], 0
je 0x424368
mov ecx, dword [esp + 0x30]
mov edx, dword [ecx + 8]
mov eax, dword [edx + 0x1c]
fild qword [eax]
jmp 0x424386
test edi, edi
je 0x424377
push 0
mov eax, edi
call fcn.00435db1
jmp 0x424386
mov esi, dword [0x4c0c74]
call fcn.00435c2e
mov esi, dword [esp + 0x3c]
push 1
fstp qword [esp + 0x4c]
mov ecx, esi
call 0x4249cf
cmp word [eax], 0
je 0x4243cc
lea ecx, [esp + 0x80]
push ecx
push 1
mov ecx, esi
call 0x4249e6
call fcn.0048a12b
add esp, 4
test eax, eax
jne 0x4243f0
push 1
push eax
push 0xffffffffffffffff
push 0x4a5c64
mov ecx, esi
call fcn.0048d063
jmp 0x4244fd
lea edx, [esp + 0xa0]
push edx
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
lea eax, [esp + 0x80]
push eax
lea ecx, [esp + 0xa4]
push ecx
call dword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
mov edx, dword [0x4c0c78]
mov ax, word [edx]
call fcn.0042c78a
movzx eax, ax
add eax, 0xffffffbc
cmp eax, 0xf
ja case.0x424410.69
movzx eax, byte [eax + 0x427b80]
jmp dword [eax*4 + 0x427b6c]
fld qword [esp + 0x48]
fmul qword [0x4b7918]
jmp 0x42444b
fld qword [esp + 0x48]
fmul qword [0x4b7910]
jmp 0x42444b
fld qword [esp + 0x48]
fmul qword [0x4b7908]
jmp 0x42444b
fld qword [esp + 0x48]
fmul qword [0x4b7900]
jmp 0x42444b
fld qword [esp + 0x48]
mov esi, dword [esp + 0x80]
mov edi, dword [esp + 0x84]
call 0x4b99e0
add esi, eax
adc edi, edx
mov dword [esp + 0x80], esi
push 0
lea eax, [esp + 0x84]
lea esi, [esp + 0x104]
mov dword [esp + 0x88], edi
call fcn.0048a4b1
mov ecx, dword [esp + 0x40]
add esp, 4
push 1
push 0
push 0xffffffffffffffff
push eax
call fcn.0048d134
jmp 0x4244fd
cmp ebx, 2
je 0x424531
cmp dword [esp + 0x48], 2
je 0x424531
cmp dword [esp + 0x38], 0
je 0x4244c6
mov ecx, dword [esp + 0x30]
mov edx, dword [ecx + 8]
mov eax, dword [edx + 0x1c]
mov edi, dword [eax]
mov ebx, dword [eax + 4]
jmp 0x4244e8
test edi, edi
je 0x4244d5
push 0
mov eax, edi
call fcn.00435e8f
jmp 0x4244e4
mov esi, dword [0x4c0c74]
call fcn.00435d5c
mov esi, dword [esp + 0x3c]
mov ebx, edx
mov edi, eax
push 0
mov eax, esi
call fcn.00435ead
add eax, edi
adc edx, ebx
push edx
push eax
push esi
call fcn.00435de9
mov edi, eax
test edi, edi
je 0x427493
cmp dword [ebp + 8], 3
je 0x427493
mov ecx, dword [esp + 0x30]
mov edx, dword [ecx + 0x14]
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x30], edx
mov esi, dword [esp + 0x30]
test esi, esi
jne 0x4236c0
jmp 0x423996
cmp dword [esp + 0x38], 0
je 0x424546
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + 0x1c]
fild qword [edx]
jmp 0x424564
test edi, edi
je 0x424555
push 0
mov eax, edi
call fcn.00435f8f
jmp 0x424564
mov esi, dword [0x4c0c74]
push 0
fstp qword [esp + 0x4c]
mov eax, esi
call fcn.00435fad
fadd qword [esp + 0x48]
sub esp, 8
fstp qword [esp]
push esi
call fcn.00435e9d
jmp 0x4244fd
mov eax, dword [0x4c0c78]
movzx eax, word [eax]
cmp ax, dx
je 0x424671
call fcn.0042c928
movzx ecx, ax
push ecx
push str.SMHD
call 0x4a64f7
add esp, 8
test eax, eax
je 0x424671
mov ecx, dword [0x4c0cc4]
mov edi, dword [0x4c0c74]
test ecx, ecx
je 0x4245e9
cmp word [edi], 0
jne 0x4245e9
mov al, byte [ecx + 0x17]
test al, al
jne 0x4245d8
mov edx, dword [ecx + 0xc]
mov al, byte [edx + 0x17]
cmp al, 1
jne 0x4245e9
test ecx, ecx
je 0x4245e9
push 1
call 0x424c23
mov edi, eax
push 1
mov ecx, esi
call 0x424c2e
push eax
lea ebx, [esp + 0x6a]
mov eax, edi
call fcn.0048a6da
add esp, 4
cmp byte [esp + 0x66], 0
mov esi, eax
mov edi, edx
je 0x424625
mov ecx, dword [esp + 0x3c]
push 1
push 0
push 0xffffffffffffffff
push 0x4a5c64
call fcn.0048d2bc
jmp 0x4244fd
mov eax, dword [0x4c0c78]
mov ax, word [eax]
call fcn.0042c9be
movzx eax, ax
cmp eax, 0x44
je 0x424653
cmp eax, 0x48
je 0x42464a
cmp eax, 0x4d
jne 0x424665
push 0
push 0x3c
jmp 0x42465a
push 0
push 0xe10
jmp 0x42465a
push 0
push 0x15180
push edi
push esi
call 0x4b9c5d
mov esi, eax
mov edi, edx
mov ecx, dword [esp + 0x3c]
push edi
push esi
push ecx
jmp 0x4244f8
mov edx, dword [esp + 0x30]
mov eax, dword [edx + 8]
cmp dword [eax + 0x1c], 0
je 0x42468c
cmp byte [eax + 0x11], 0
jne 0x42468c
mov dword [esp + 0x38], edi
xor ebx, ebx
jmp fcn.004246cf
mov ebx, dword [0x4c0cc4]
mov eax, dword [0x4c0c74]
mov dword [esp + 0x38], 0
test ebx, ebx
je 0x4246bb
cmp word [eax], 0
jne 0x4246bb
mov cl, byte [ebx + 0x17]
test cl, cl
jne 0x4246b6
mov ecx, dword [ebx + 0xc]
mov cl, byte [ecx + 0x17]
cmp cl, 1
je 0x42470a
xor ebx, ebx
push 1
push 1
push 0
push 1
call fcn.0048a886
add esp, 0x10
mov edi, eax
test ebx, ebx
je 0x4246bd
push 1
mov eax, ebx
call fcn.00436063
jmp 0x4246cd
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx + 8]
cmp dword [eax + 0x1c], edx
je 0x4247bb
cmp byte [eax + 0x11], dl
jne 0x4247bb
mov dword [esp + 0x38], edi
xor ebx, ebx
jmp 0x4247f9
mov ebx, dword [0x4c0cc4]
mov eax, dword [0x4c0c74]
mov dword [esp + 0x38], edx
cmp ebx, edx
je 0x4247e5
cmp word [eax], dx
jne 0x4247e5
mov cl, byte [ebx + 0x17]
test cl, cl
jne 0x4247e0
mov ecx, dword [ebx + 0xc]
mov cl, byte [ecx + 0x17]
cmp cl, 1
je 0x424824
xor ebx, ebx
push 1
push 1
push 0
push 1
call fcn.0048a9b0
add esp, 0x10
mov edi, eax
push 1
mov eax, esi
call fcn.0043614e
cmp edi, 2
je 0x42486c
cmp eax, 2
je 0x42486c
cmp dword [esp + 0x38], 0
je 0x424833
mov edx, dword [esp + 0x30]
mov eax, dword [edx + 8]
mov eax, dword [eax + 0x1c]
mov edi, dword [eax]
mov ebx, dword [eax + 4]
jmp 0x424855
cmp ebx, edx
je 0x4247e7
push 1
mov eax, ebx
call fcn.0043617d
jmp 0x4247f7
test ebx, ebx
je 0x424842
push 0
mov eax, ebx
call fcn.004361fc
jmp 0x424851
mov esi, dword [0x4c0c74]
call fcn.004360c9
mov esi, dword [esp + 0x3c]
mov ebx, edx
mov edi, eax
push 0
mov eax, esi
call fcn.0043621a
push ebx
push edi
push edx
push eax
call 0x4ad6b3
jmp 0x4244f5
cmp dword [esp + 0x38], 0
je 0x424881
mov ecx, dword [esp + 0x30]
mov edx, dword [ecx + 8]
mov eax, dword [edx + 0x1c]
fild qword [eax]
jmp 0x42489f
test ebx, ebx
je 0x424890
push 0
mov eax, ebx
call fcn.004362ca
jmp 0x42489f
mov esi, dword [0x4c0c74]
call fcn.00436147
mov esi, dword [esp + 0x3c]
push 0
fstp qword [esp + 0x4c]
mov eax, esi
call fcn.004362e8
fmul qword [esp + 0x48]
sub esp, 8
fstp qword [esp]
push esi
call fcn.004361d8
jmp 0x4244fd
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx + 8]
cmp dword [eax + 0x1c], edx
je 0x4248da
cmp byte [eax + 0x11], dl
jne 0x4248da
mov dword [esp + 0x38], edi
xor ebx, ebx
jmp 0x424918
mov ebx, dword [0x4c0cc4]
mov eax, dword [0x4c0c74]
mov dword [esp + 0x38], edx
cmp ebx, edx
je 0x424904
cmp word [eax], dx
jne 0x424904
mov cl, byte [ebx + 0x17]
test cl, cl
jne 0x4248ff
mov ecx, dword [ebx + 0xc]
mov cl, byte [ecx + 0x17]
cmp cl, 1
je 0x424943
xor ebx, ebx
push 1
push 1
push 0
push 1
call fcn.0048aacf
add esp, 0x10
mov edi, eax
push 1
mov eax, esi
call fcn.0043626d
cmp edi, 2
je 0x424991
cmp eax, 2
je 0x424991
cmp dword [esp + 0x38], 0
je 0x424952
mov edx, dword [esp + 0x30]
mov eax, dword [edx + 8]
mov eax, dword [eax + 0x1c]
mov edi, dword [eax]
mov ebx, dword [eax + 4]
jmp 0x424974
cmp ebx, edx
je 0x424906
push 1
mov eax, ebx
call 0x43629c
jmp 0x424916
test ebx, ebx
je 0x424961
push 0
mov eax, ebx
call fcn.0043631b
jmp 0x424970
mov esi, dword [0x4c0c74]
call fcn.004361e8
mov esi, dword [esp + 0x3c]
mov ebx, edx
mov edi, eax
mov ecx, edi
or ecx, ebx
je 0x4249d3
push 0
mov eax, esi
call fcn.0043633f
push ebx
push edi
push edx
push eax
call 0x4b9f88
jmp 0x4244f5
cmp dword [esp + 0x38], 0
je 0x4249a6
mov edx, dword [esp + 0x30]
mov eax, dword [edx + 8]
mov ecx, dword [eax + 0x1c]
fild qword [ecx]
jmp 0x4249c4
test ebx, ebx
je 0x4249b5
push 0
mov eax, ebx
call fcn.004363ef
jmp 0x4249c4
mov esi, dword [0x4c0c74]
call fcn.0043626c
mov esi, dword [esp + 0x3c]
fst qword [esp + 0x48]
fldz
fucompp
fnstsw ax
test ah, 0x44
jp 0x4249e7
push 1
push 0
push 0xffffffffffffffff
push 0
mov ecx, esi
call fcn.0048d67e
jmp 0x4244fd
push 0
mov eax, esi
call fcn.0043642c
fdiv qword [esp + 0x48]
sub esp, 8
fstp qword [esp]
push esi
call fcn.0043631c
jmp 0x4244fd
mov ecx, dword [esp + 0x30]
mov edi, 2
call fcn.00441bff
mov ebx, eax
test ebx, ebx
jns 0x424a32
mov edx, dword [0x4c0c74]
push 1
xor ebx, ebx
push ebx
push ebx
push edx
mov ecx, esi
call fcn.0048d6c9
jmp 0x4244fd
mov ecx, dword [esp + 0x30]
mov edi, 1
call fcn.00441b9c
cmp ebx, eax
jle 0x424a46
mov ebx, eax
mov edx, dword [0x4c0c74]
push 1
push 0
push ebx
push edx
mov ecx, esi
call fcn.0048d6f5
jmp 0x4244fd
mov ecx, dword [esp + 0x30]
mov edi, 2
call fcn.00441c58
mov ebx, eax
test ebx, ebx
jns 0x424a74
xor ebx, ebx
mov ecx, dword [esp + 0x30]
mov edi, 1
call fcn.00441bde
cmp ebx, eax
jbe 0x424a88
mov ebx, eax
mov ecx, dword [0x4c0c74]
push 1
push 0
sub eax, ebx
lea eax, [ecx + eax*2]
mov eax, dword [esp + 0x30]
cmp byte [eax + 1], 4
jb 0x424ae5
mov eax, dword [eax + 8]
mov ecx, dword [eax + 0x34]
cmp word [ecx], dx
je 0x424ae5
mov ecx, dword [esp + 0x30]
mov edi, 3
call fcn.00441cb4
mov dword [esp + 0x3c], eax
cmp eax, 1
jge 0x424aed
push 1
push 0
push 0xffffffffffffffff
push 0
mov ecx, esi
call fcn.0048d77c
jmp 0x4244fd
mov dword [esp + 0x3c], SysReAllocString
mov ecx, dword [esp + 0x30]
mov edi, 2
call fcn.00441ce7
mov edx, dword [0x4c0c80]
mov ebx, eax
mov ax, word [edx]
call fcn.0042ce97
cmp ax, 0x4c
jne 0x424b34
cmp ebx, 1
jl 0x4249d3
mov eax, dword [esp + 0x3c]
mov ecx, 1
sub ecx, eax
add ebx, ecx
cmp ebx, 1
jge 0x424b3e
lea edx, [eax + ebx - 1]
mov dword [esp + 0x3c], edx
cmp ebx, 1
jge 0x424b3e
mov ebx, 1
mov ecx, dword [esp + 0x30]
mov edi, 1
call fcn.00441ca8
cmp eax, ebx
jb 0x4249d3
mov ecx, edi
sub ecx, ebx
add eax, ecx
cmp dword [esp + 0x3c], eax
jbe 0x424b64
mov dword [esp + 0x3c], eax
mov edx, dword [0x4c0c74]
mov eax, dword [esp + 0x3c]
push 1
push 0
lea ebx, [edx + ebx*2 - 2]
push eax
push ebx
mov ecx, esi
call fcn.0048d81b
jmp 0x4244fd
invalid
mov ecx, dword [esp + 0x30]
mov edi, 2
call fcn.00441d7e
mov ebx, eax
test ebx, ebx
jns 0x424b9a
xor ebx, ebx
mov ecx, dword [esp + 0x30]
mov edi, 1
call fcn.00441d04
cmp ebx, eax
jbe 0x424bae
mov ebx, eax
mov ecx, dword [0x4c0c74]
push 1
push 0
sub eax, ebx
lea ecx, [ecx + ebx*2]
push eax
push ecx
mov ecx, esi
call fcn.0048d862
jmp 0x4244fd
mov ecx, dword [esp + 0x30]
mov edi, 2
call fcn.00441dc5
mov ebx, eax
test ebx, ebx
jns 0x424be1
xor ebx, ebx
mov ecx, dword [esp + 0x30]
mov edi, 1
call fcn.00441d4b
cmp ebx, eax
jbe 0x424bf5
mov ebx, eax
mov edx, dword [0x4c0c74]
push 1
push 0
sub eax, ebx
push eax
push edx
mov ecx, esi
call fcn.0048d8a6
jmp 0x4244fd
push 1
mov ecx, esi
call fcn.00425254
mov edi, eax
cmp edi, dword [0x4c0c74]
jne 0x424c33
mov al, byte [esi + 0x17]
test al, al
jne 0x424c2f
mov eax, dword [esi + 0xc]
mov al, byte [eax + 0x17]
cmp al, 1
je 0x424c81
mov ecx, dword [esp + 0x30]
push 1
push 0
mov edi, 1
invalid
mov ecx, dword [0x4c0c70]
push edx
mov edx, dword [0x4c0c7c]
push eax
call fcn.00454b8a
jmp 0x4244fd