Function at 0x424ca0
Capabilities:
Check os version
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x48a5f0
mov eax, dword fs:[0]
push eax
sub esp, 0x6c
mov eax, dword [0x4ace70]
xor eax, esp
mov dword [esp + 0x68], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4ace70]
xor eax, esp
push eax
lea eax, [esp + 0x80]
mov dword fs:[0], eax
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x9c]
mov ebp, dword [esp + 0x90]
mov edi, dword [esp + 0x98]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xa4]
push eax
mov dword [esp + 0x3c], ecx
call fcn.00427920
add esp, 4
mov esi, eax
lea edx, [esp + 0x60]
push edx
mov ecx, esi
call fcn.00426700
xor ebx, ebx
mov dword [esp + 0x88], ebx
cmp dword [esp + 0x74], ebx
jne 0x424d2c
mov dword [esp + 0x3c], ebx
jmp 0x424d3c
mov eax, dword [esi]
mov edx, dword [eax + 8]
mov ecx, esi
call edx
movzx eax, ax
mov dword [esp + 0x3c], eax
add ebp, 8
push ebp
lea ecx, [esp + 0x24]
push ecx
push 1
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0x38]
push eax
mov byte [esp + 0x2c], 0x30
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x48], ebp
call fcn.00468c01
mov ecx, dword [esp + 0x44]
add esp, 0x14
mov dword [esp + 0x24], ecx
cmp byte [edi + 4], bl
jne 0x424d7e
mov ecx, edi
call fcn.00426810
mov esi, dword [esp + 0x38]
cmp byte [esi + 4], bl
jne 0x424d8e
mov ecx, esi
call fcn.00426810
cmp dword [edi], ebx
jne 0x424d9c
cmp dword [esi], ebx
je 0x424e3c
jmp 0x424da4
cmp dword [esi], ebx
jne 0x424e3c
cmp byte [edi + 4], bl
jne 0x424db0
mov ecx, edi
call fcn.00426810
movzx esi, word [edi + 6]
push ebp
lea edx, [esp + 0x30]
push edx
push 1
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x30]
push ecx
mov byte [esp + 0x2c], 0x2b
mov dword [esp + 0x34], ebx
mov dword [esp + 0x40], ebx
call fcn.00468c01
add esp, 0x14
cmp si, word [esp + 0x20]
jne 0x424deb
mov eax, dword [esp + 0x30]
mov byte [eax], 0x2b
jmp 0x424e30
cmp byte [edi + 4], bl
jne 0x424df7
mov ecx, edi
call fcn.00426810
movzx esi, word [edi + 6]
push ebp
lea edx, [esp + 0x30]
push edx
push 1
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x30]
push ecx
mov byte [esp + 0x2c], 0x2d
mov dword [esp + 0x34], ebx
mov dword [esp + 0x40], ebx
call fcn.00468c01
add esp, 0x14
cmp si, word [esp + 0x20]
jne 0x424e3c
mov eax, dword [esp + 0x30]
mov byte [eax], 0x2d
inc eax
mov ecx, edi
mov dword [esp + 0x24], eax
call fcn.004267b0
mov eax, dword [esp + 0xa0]
and eax, 0xe00
cmp eax, 0x400
jne 0x424e5a
mov ebp, 8
mov dword [esp + 0x20], ebp
jmp 0x424e79
cmp eax, 0x800
jne 0x424e6c
mov ebp, 0x10
mov dword [esp + 0x20], ebp
jmp 0x424e79
neg eax
sbb eax, eax
and eax, 0xa
mov ebp, eax
mov dword [esp + 0x20], eax
mov byte [esp + 0x1e], bl
mov byte [esp + 0x1f], bl
cmp byte [edi + 4], bl
jne 0x424e8d
mov ecx, edi
call fcn.00426810
mov esi, dword [esp + 0x38]
cmp byte [esi + 4], bl
jne 0x424e9d
mov ecx, esi
call fcn.00426810
cmp dword [edi], ebx
jne 0x424ecc
cmp dword [esi], ebx
jne 0x424ed0
cmp ebp, ebx
je 0x424fa4
cmp ebp, 0xa
je 0x424fa4
sub ebp, 8
neg ebp
sbb ebp, ebp
and ebp, 0xe
add ebp, 8
mov dword [esp + 0x28], ebp
jmp 0x424fac
cmp dword [esi], ebx
jne 0x424ea5
cmp byte [edi + 4], bl
jne 0x424edc
mov ecx, edi
call fcn.00426810
movzx eax, word [edi + 6]
cmp ax, word [esp + 0x28]
jne 0x424ea5
mov ecx, edi
mov byte [esp + 0x1e], 1
call fcn.004267b0
push esi
push edi
call fcn.00427e80
add esp, 8
test al, al
je 0x424f8e
cmp byte [edi + 4], bl
jne 0x424f11
mov ecx, edi
call fcn.00426810
mov edx, dword [esp + 0x34]
movzx esi, word [edi + 6]
push edx
lea eax, [esp + 0x30]
push eax
push 1
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x38]
push edx
mov byte [esp + 0x2c], 0x78
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
call fcn.00468c01
add esp, 0x14
cmp si, word [esp + 0x28]
je 0x424f6c
cmp byte [edi + 4], bl
jne 0x424f53
mov ecx, edi
call fcn.00426810
mov eax, dword [esp + 0x34]
movzx esi, word [edi + 6]
push eax
push ebx
push 0x58
call fcn.00401830
add esp, 0xc
cmp si, ax
jne 0x424f8e
cmp ebp, ebx
je 0x424f75
cmp ebp, 0x10
jne 0x424f8e
mov ebp, 0x10
mov ecx, edi
mov dword [esp + 0x20], ebp
mov byte [esp + 0x1e], bl
call fcn.004267b0
jmp 0x424eb6
cmp ebp, ebx
jne 0x424ead
mov ebp, 8
mov dword [esp + 0x20], ebp
jmp 0x424eb6
mov dword [esp + 0x28], 0xa
mov cl, byte [esp + 0x1e]
mov dword [esp + 0x5c], 0xf
mov byte [esp + 0x48], cl
mov dword [esp + 0x58], 1
mov byte [esp + 0x49], bl
mov edx, dword [esp + 0x30]
mov esi, dword [esp + 0x38]
xor ebp, ebp
add edx, 0x1f
mov byte [esp + 0x88], 1
mov dword [esp + 0x40], edx
cmp byte [edi + 4], bl
jne 0x425024
mov ecx, dword [edi]
cmp ecx, ebx
je 0x42501e
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebx
je 0x425001
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebx
jle 0x425001
mov eax, dword [eax]
movzx eax, word [eax]
jmp 0x42500b
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
movzx eax, ax
movzx eax, ax
mov ecx, 0xffff
cmp cx, ax
je 0x42501e
mov word [edi + 6], ax
jmp 0x425020
mov dword [edi], ebx
mov byte [edi + 4], 1
cmp byte [esi + 4], bl
jne 0x425067
mov ecx, dword [esi]
cmp ecx, ebx
je 0x425061
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebx
je 0x425044
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebx
jle 0x425044
mov eax, dword [eax]
movzx eax, word [eax]
jmp 0x42504e
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
movzx eax, ax
movzx eax, ax
mov ecx, 0xffff
cmp cx, ax
je 0x425061
mov word [esi + 6], ax
jmp 0x425063
mov dword [esi], ebx
mov byte [esi + 4], 1
mov ecx, dword [edi]
cmp ecx, ebx
jne 0x4250a2
cmp dword [esi], ebx
jne 0x4250a6
cmp ebp, ebx
je 0x425238
cmp ebp, dword [esp + 0x58]
jbe 0x425084
call fcn.00469f76
cmp dword [esp + 0x5c], 0x10
mov eax, dword [esp + 0x48]
jae 0x425093
lea eax, [esp + 0x48]
cmp byte [eax + ebp], bl
jle 0x425234
inc ebp
jmp 0x425238
cmp dword [esi], ebx
jne 0x425071
cmp byte [edi + 4], bl
jne 0x4250e7
cmp ecx, ebx
je 0x4250e1
mov eax, dword [ecx + 0x20]
cmp dword [eax], ebx
je 0x4250c4
mov edx, dword [ecx + 0x30]
cmp dword [edx], ebx
jle 0x4250c4
mov eax, dword [eax]
movzx eax, word [eax]
jmp 0x4250ce
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
movzx eax, ax
movzx eax, ax
mov ecx, 0xffff
cmp cx, ax
je 0x4250e1
mov word [edi + 6], ax
jmp 0x4250e3
mov dword [edi], ebx
mov byte [edi + 4], 1
mov edx, dword [esp + 0x34]
movzx ecx, word [edi + 6]
push edx
lea eax, [esp + 0x30]
push eax
push ecx
lea edx, [esp + 0x24]
push edx
mov byte [esp + 0x28], bl
mov dword [esp + 0x3c], ebx
call fcn.004682d2
mov al, byte [esp + 0x28]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
mov byte [ecx], al
movsx eax, al
push edx
push eax
push str.0123456789abcdefABCDEF
call fcn.0046a560
add esp, 0x1c
test eax, eax
je 0x425192
cmp byte [esp + 0x1f], bl
jne 0x42513b
mov ecx, dword [esp + 0x24]
cmp byte [ecx], 0x30
je 0x42514e
mov edx, dword [esp + 0x24]
cmp edx, dword [esp + 0x40]
jae 0x42514e
inc dword [esp + 0x24]
mov byte [esp + 0x1f], 1
mov byte [esp + 0x1e], 1
cmp ebp, dword [esp + 0x58]
jbe 0x42515e
call fcn.00469f76
cmp dword [esp + 0x5c], 0x10
mov eax, dword [esp + 0x48]
jae 0x42516d
lea eax, [esp + 0x48]
cmp byte [eax + ebp], 0x7f
je 0x4251e8
cmp ebp, dword [esp + 0x58]
jbe 0x42517e
call fcn.00469f76
cmp dword [esp + 0x5c], 0x10
mov eax, dword [esp + 0x48]
jae 0x42518d
lea eax, [esp + 0x48]
inc byte [eax + ebp]
jmp 0x4251e8
cmp ebp, dword [esp + 0x58]
jbe 0x42519d
call fcn.00469f76
cmp dword [esp + 0x5c], 0x10
mov eax, dword [esp + 0x48]
jae 0x4251ac
lea eax, [esp + 0x48]
cmp byte [eax + ebp], bl
je 0x425071
cmp word [esp + 0x3c], bx
je 0x425071
cmp byte [edi + 4], bl
jne 0x4251cc
mov ecx, edi
call fcn.00426810
mov ax, word [esp + 0x3c]
cmp word [edi + 6], ax
jne 0x425071
push ebx
push 1
lea ecx, [esp + 0x4c]
call fcn.00410ff0
inc ebp
mov ecx, dword [edi]
cmp ecx, ebx
je 0x425229
mov edx, dword [ecx + 0x20]
cmp dword [edx], ebx
je 0x42520d
mov eax, dword [ecx + 0x30]
cmp dword [eax], ebx
jle 0x42520d
dec dword [eax]
mov ecx, dword [ecx + 0x20]
mov eax, dword [ecx]
lea edx, [eax + 2]
mov dword [ecx], edx
movzx eax, word [eax]
jmp 0x425217
mov eax, dword [ecx]
mov edx, dword [eax + 0x14]
call edx
movzx eax, ax
mov ecx, 0xffff
cmp cx, ax
je 0x425229
mov byte [edi + 4], bl
jmp 0x424fe1
mov dword [edi], ebx
mov byte [edi + 4], 1
jmp 0x424fe1
mov byte [esp + 0x1e], bl
cmp dword [esp + 0x78], 0x10
mov esi, dword [esp + 0x64]
jae 0x425247
lea esi, [esp + 0x64]
mov edi, 0x10
cmp byte [esp + 0x1e], bl
je 0x4252bc
cmp ebp, ebx
jbe 0x4252ac
cmp byte [esi], 0x7f
je 0x4252ac
sub ebp, 1
je 0x425280
cmp ebp, dword [esp + 0x58]
jbe 0x42526b
call fcn.00469f76
mov eax, dword [esp + 0x48]
cmp dword [esp + 0x5c], edi
jae 0x425279
lea eax, [esp + 0x48]
mov dl, byte [esi]
cmp dl, byte [eax + ebp]
jne 0x4252bc
cmp ebp, ebx
jne 0x4252a4
cmp ebp, dword [esp + 0x58]
jbe 0x42528f
call fcn.00469f76
mov eax, dword [esp + 0x48]
cmp dword [esp + 0x5c], edi
jae 0x42529d
lea eax, [esp + 0x48]
mov cl, byte [esi]
cmp cl, byte [eax + ebp]
jl 0x4252bc
cmp byte [esi + 1], bl
jle 0x425252
inc esi
jmp 0x425252
mov eax, dword [esp + 0x24]
cmp byte [esp + 0x1f], bl
jne 0x4252c0
mov byte [eax], 0x30
inc eax
jmp 0x4252c0
mov eax, dword [esp + 0x30]
mov byte [eax], bl
cmp dword [esp + 0x5c], edi
jb 0x4252d5
mov edx, dword [esp + 0x48]
push edx
call fcn.00469665
add esp, 4
mov dword [esp + 0x5c], 0xf
mov dword [esp + 0x58], ebx
mov byte [esp + 0x48], bl
cmp dword [esp + 0x78], edi
jb 0x4252f8
mov eax, dword [esp + 0x64]
push eax
call fcn.00469665
add esp, 4
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x80]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x68]
xor ecx, esp
call fcn.00469e0a
add esp, 0x78
ret