Function at 0x424e10
Capabilities:
Check os version

Disassembly:
push 0xffffffffffffffff
push 0x5e4b54
mov eax, dword fs:[0]
push eax
sub esp, 0xb0
push ebx
push ebp
push esi
push edi
mov eax, dword [0x64c874]
xor eax, esp
push eax
lea eax, [esp + 0xc4]
mov dword fs:[0], eax
mov esi, ecx
mov ebp, dword [esp + 0xd4]
lea eax, [esp + 0x98]
push eax
xor ebx, ebx
push ebx
push 0x605a3c
mov dword [esp + 0xa4], ebx
call fcn.0059b752
mov dword [esp + 0x9c], eax
lea ecx, [esp + 0x60]
push ecx
mov dword [esp + 0xd0], ebx
mov edi, 0x605df0
push 0xfeff0000
mov dword [esp + 0x90], edi
mov dword [esp + 0x68], ebx
call fcn.0059b716
mov edx, dword [esp + 0x60]
mov dword [esp + 0x90], eax
mov dword [esp + 0x8c], edx
lea eax, [esp + 0x68]
push eax
push 0xfe414141
mov dword [esp + 0x50], edi
mov dword [esp + 0x70], ebx
call fcn.0059b716
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x50], eax
mov dword [esp + 0x4c], ecx
lea edx, [esp + 0x84]
push edx
push 0xfe565656
mov dword [esp + 0x5c], edi
mov dword [esp + 0x8c], ebx
call fcn.0059b716
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x58], eax
lea ecx, [esp + 0x6c]
push ecx
push 0xfeb2bfc8
mov dword [esp + 0xbc], edi
mov dword [esp + 0x74], ebx
call fcn.0059b716
mov edx, dword [esp + 0x6c]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xb8], edx
lea eax, [esp + 0x64]
push eax
push 0xfe258bb3
mov dword [esp + 0xb0], edi
mov dword [esp + 0x6c], ebx
call fcn.0059b716
mov ecx, dword [esp + 0x64]
mov dword [esp + 0xb0], eax
mov dword [esp + 0xac], ecx
lea edx, [esp + 0x94]
push edx
push 0xfe00c800
mov dword [esp + 0x7c], edi
mov dword [esp + 0x9c], ebx
call fcn.0059b716
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x78], eax
fld dword [0x61ce50]
mov edx, dword [esp + 0x98]
lea ecx, [esp + 0x70]
push ecx
push 2
push ebx
push ecx
fstp dword [esp]
mov dword [esp + 0x80], ebx
push edx
call fcn.0059b76a
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x30], eax
fld dword [0x61ceb8]
mov edx, dword [esp + 0x98]
lea ecx, [esp + 0x80]
push ecx
push 2
push 1
push ecx
fstp dword [esp]
push edx
mov dword [esp + 0x94], ebx
call fcn.0059b76a
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0xa0], eax
mov byte [esp + 0xcc], 8
call fcn.005a3149
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x425007
push 0x80004005
call fcn.004030f0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
mov byte [esp + 0xcc], 9
call fcn.005a3149
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x425039
push 0x80004005
call fcn.004030f0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x2c], eax
mov byte [esp + 0xcc], 0xa
xor eax, eax
cmp byte [ebp + 0x6a1], al
mov ebx, 0x66
mov dword [esp + 0x44], 0x86
jne 0x425147
mov ecx, dword [ebp + 0x5f4]
mov eax, 1
cmp ecx, eax
mov dword [esp + 0x28], eax
jg 0x425147
mov edx, eax
sub edx, ecx
cmp edx, 6
jge 0x425147
mov eax, 3
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x1c]
mov edi, esi
mov ebx, 0x85
mov dword [esp + 0x48], 0xa5
mov dword [esp + 0x1c], 0xe
mov dword [esp + 0x20], 0x96
call fcn.00402f30
push str.PhysX
lea ecx, [esp + 0x18]
call fcn.0040c910
mov eax, dword [esp + 0x14]
lea edx, [eax + 2]
nop
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4250e0
fld dword [0x61ceb4]
mov ecx, dword [esp + 0x14]
sub eax, edx
fstp dword [esp + 0x18]
fld dword [0x61ceb0]
sar eax, 1
push eax
fstp dword [esp + 0x20]
push ecx
lea ecx, [esp + 0x5c]
lea eax, [esp + 0x20]
lea edx, [esp + 0x38]
call fcn.00402e50
mov edx, dword [esp + 0x44]
sub esp, 0x10
mov eax, esp
mov ecx, 1
mov dword [eax], ecx
mov dword [eax + 4], ebx
mov ecx, 0x157
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
push 0
mov eax, esi
mov edi, ebp
call fcn.004261f0
mov eax, dword [esp + 0x28]
cmp byte [ebp + 0x6a3], 0
jne 0x425234
mov ecx, dword [ebp + 0x5f4]
add eax, 1
cmp eax, ecx
mov dword [esp + 0x28], eax
jl 0x425234
mov edx, eax
sub edx, ecx
cmp edx, 6
jge 0x425234
add dword [esp + 0x44], 0x1f
add ebx, 0x1f
lea eax, [ebx + 0x11]
mov dword [esp + 0x1c], eax
mov eax, 3
lea ecx, [esp + 0x48]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
push ecx
lea eax, [esp + 0x1c]
mov edi, esi
mov dword [esp + 0x40], ebx
mov dword [esp + 0x1c], 0xe
call fcn.00402f30
push str.XNA_Frameword_3.1
lea ecx, [esp + 0x18]
call fcn.0040c910
mov eax, dword [esp + 0x14]
lea ecx, [eax + 2]
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x4251c3
fld dword [0x61ceb4]
mov edx, dword [esp + 0x14]
fstp dword [esp + 0x18]
sub eax, ecx
fild dword [esp + 0x3c]
sar eax, 1
push eax
push edx
fadd qword [0x61ce38]
lea ecx, [esp + 0x5c]
lea eax, [esp + 0x20]
lea edx, [esp + 0x38]
fstp dword [esp + 0x24]
call fcn.00402e50
mov edx, dword [esp + 0x28]
sub esp, 0x10
mov eax, esp
mov ecx, 1
mov dword [eax], ecx
mov dword [eax + 4], ebx
mov ecx, 0x157
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x54]
add edx, 0xffffffff
mov dword [eax + 0xc], ecx
push edx
mov eax, esi
mov edi, ebp
call fcn.004261f0
mov eax, dword [esp + 0x28]
cmp byte [ebp + 0x6a4], 0
jne 0x425321
mov ecx, dword [ebp + 0x5f4]
add eax, 1
cmp eax, ecx
mov dword [esp + 0x28], eax
jl 0x425321
mov edx, eax
sub edx, ecx
cmp edx, 6
jge 0x425321
add dword [esp + 0x44], 0x1f
add ebx, 0x1f
lea eax, [ebx + 0x11]
mov dword [esp + 0x1c], eax
mov eax, 3
lea ecx, [esp + 0x48]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
push ecx
lea eax, [esp + 0x1c]
mov edi, esi
mov dword [esp + 0x40], ebx
mov dword [esp + 0x1c], 0xe
call fcn.00402f30
push str.XNA_Frameword_4.0
lea ecx, [esp + 0x18]
call fcn.0040c910
mov eax, dword [esp + 0x14]
lea ecx, [eax + 2]
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x4252b0
fld dword [0x61ceb4]
mov edx, dword [esp + 0x14]
fstp dword [esp + 0x18]
sub eax, ecx
fild dword [esp + 0x3c]
sar eax, 1
push eax
push edx
fadd qword [0x61ce38]
lea ecx, [esp + 0x5c]
lea eax, [esp + 0x20]
lea edx, [esp + 0x38]
fstp dword [esp + 0x24]
call fcn.00402e50
mov edx, dword [esp + 0x28]
sub esp, 0x10
mov eax, esp
mov ecx, 1
mov dword [eax], ecx
mov dword [eax + 4], ebx
mov ecx, 0x157
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x54]
add edx, 0xffffffff
mov dword [eax + 0xc], ecx
push edx
mov eax, esi
mov edi, ebp
call fcn.004261f0
mov eax, dword [esp + 0x28]
cmp byte [ebp + 0x6a7], 0
jne 0x425411
mov ecx, dword [ebp + 0x5f4]
add eax, 1
cmp eax, ecx
mov dword [esp + 0x28], eax
jl 0x425411
mov edx, eax
sub edx, ecx
cmp edx, 6
jge 0x425411
add dword [esp + 0x44], 0x1f
add ebx, 0x1f
lea eax, [ebx + 0x11]
mov dword [esp + 0x1c], eax
mov eax, 3
lea ecx, [esp + 0x48]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
push ecx
lea eax, [esp + 0x1c]
mov edi, esi
mov dword [esp + 0x40], ebx
mov dword [esp + 0x1c], 0xe
call fcn.00402f30
push str.Visual_C2005
lea ecx, [esp + 0x18]
call fcn.0040c910
mov eax, dword [esp + 0x14]
lea ecx, [eax + 2]
lea ecx, [ecx]
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x4253a0
fld dword [0x61ceb4]
mov edx, dword [esp + 0x14]
fstp dword [esp + 0x18]
sub eax, ecx
fild dword [esp + 0x3c]
sar eax, 1
push eax
push edx
fadd qword [0x61ce38]
lea ecx, [esp + 0x5c]
lea eax, [esp + 0x20]
lea edx, [esp + 0x38]
fstp dword [esp + 0x24]
call fcn.00402e50
mov edx, dword [esp + 0x28]
sub esp, 0x10
mov eax, esp
mov ecx, 1
mov dword [eax], ecx
mov dword [eax + 4], ebx
mov ecx, 0x157
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x54]
add edx, 0xffffffff
mov dword [eax + 0xc], ecx
push edx
mov eax, esi
mov edi, ebp
call fcn.004261f0
mov eax, dword [esp + 0x28]
cmp byte [ebp + 0x6a8], 0
jne 0x425501
mov ecx, dword [ebp + 0x5f4]
add eax, 1
cmp eax, ecx
mov dword [esp + 0x28], eax
jl 0x425501
mov edx, eax
sub edx, ecx
cmp edx, 6
jge 0x425501
add dword [esp + 0x44], 0x1f
add ebx, 0x1f
lea eax, [ebx + 0x11]
mov dword [esp + 0x1c], eax
mov eax, 3
lea ecx, [esp + 0x48]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
push ecx
lea eax, [esp + 0x1c]
mov edi, esi
mov dword [esp + 0x40], ebx
mov dword [esp + 0x1c], 0xe
call fcn.00402f30
push str.Visual_C2008
lea ecx, [esp + 0x18]
call fcn.0040c910
mov eax, dword [esp + 0x14]
lea ecx, [eax + 2]
lea ecx, [ecx]
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x425490
fld dword [0x61ceb4]
mov edx, dword [esp + 0x14]
fstp dword [esp + 0x18]
sub eax, ecx
fild dword [esp + 0x3c]
sar eax, 1
push eax
push edx
fadd qword [0x61ce38]
lea ecx, [esp + 0x5c]
lea eax, [esp + 0x20]
lea edx, [esp + 0x38]
fstp dword [esp + 0x24]
call fcn.00402e50
mov edx, dword [esp + 0x28]
sub esp, 0x10
mov eax, esp
mov ecx, 1
mov dword [eax], ecx
mov dword [eax + 4], ebx
mov ecx, 0x157
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x54]
add edx, 0xffffffff
mov dword [eax + 0xc], ecx
push edx
mov eax, esi
mov edi, ebp
call fcn.004261f0
mov eax, dword [esp + 0x28]
cmp byte [ebp + 0x6a9], 0
jne 0x4255f1
mov ecx, dword [ebp + 0x5f4]
add eax, 1
cmp eax, ecx
mov dword [esp + 0x28], eax
jl 0x4255f1
mov edx, eax
sub edx, ecx
cmp edx, 6
jge 0x4255f1
add dword [esp + 0x44], 0x1f
add ebx, 0x1f
lea eax, [ebx + 0x11]
mov dword [esp + 0x1c], eax
mov eax, 3
lea ecx, [esp + 0x48]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
push ecx
lea eax, [esp + 0x1c]
mov edi, esi
mov dword [esp + 0x40], ebx
mov dword [esp + 0x1c], 0xe
call fcn.00402f30
push str.Visual_C2010
lea ecx, [esp + 0x18]
call fcn.0040c910
mov eax, dword [esp + 0x14]
lea ecx, [eax + 2]
lea ecx, [ecx]
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x425580
fld dword [0x61ceb4]
mov edx, dword [esp + 0x14]
fstp dword [esp + 0x18]
sub eax, ecx
fild dword [esp + 0x3c]
sar eax, 1
push eax
push edx
fadd qword [0x61ce38]
lea ecx, [esp + 0x5c]
lea eax, [esp + 0x20]
lea edx, [esp + 0x38]
fstp dword [esp + 0x24]
call fcn.00402e50
mov edx, dword [esp + 0x28]
sub esp, 0x10
mov eax, esp
mov ecx, 1
mov dword [eax], ecx
mov dword [eax + 4], ebx
mov ecx, 0x157
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x54]
add edx, 0xffffffff
mov dword [eax + 0xc], ecx
push edx
mov eax, esi
mov edi, ebp
call fcn.004261f0
mov eax, dword [esp + 0x28]
cmp byte [ebp + 0x6a5], 0
jne 0x4256e1
mov ecx, dword [ebp + 0x5f4]
add eax, 1
cmp eax, ecx
mov dword [esp + 0x28], eax
jl 0x4256e1
mov edx, eax
sub edx, ecx
cmp edx, 6
jge 0x4256e1
add dword [esp + 0x44], 0x1f
add ebx, 0x1f
lea eax, [ebx + 0x11]
mov dword [esp + 0x1c], eax
mov eax, 3
lea ecx, [esp + 0x48]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
push ecx
lea eax, [esp + 0x1c]
mov edi, esi
mov dword [esp + 0x40], ebx
mov dword [esp + 0x1c], 0xe
call fcn.00402f30
push str..NET_Frameword_3.5
lea ecx, [esp + 0x18]
call fcn.0040c910
mov eax, dword [esp + 0x14]
lea ecx, [eax + 2]
lea ecx, [ecx]
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x425670
fld dword [0x61ceb4]
mov edx, dword [esp + 0x14]
fstp dword [esp + 0x18]
sub eax, ecx
fild dword [esp + 0x3c]
sar eax, 1
push eax
push edx
fadd qword [0x61ce38]
lea ecx, [esp + 0x5c]
lea eax, [esp + 0x20]
lea edx, [esp + 0x38]
fstp dword [esp + 0x24]
call fcn.00402e50
mov edx, dword [esp + 0x28]
sub esp, 0x10
mov eax, esp
mov ecx, 1
mov dword [eax], ecx
mov dword [eax + 4], ebx
mov ecx, 0x157
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x54]
add edx, 0xffffffff
mov dword [eax + 0xc], ecx
push edx
mov eax, esi
mov edi, ebp
call fcn.004261f0
mov eax, dword [esp + 0x28]
cmp byte [ebp + 0x6a6], 0
jne 0x4257d1
mov ecx, dword [ebp + 0x5f4]
add eax, 1
cmp eax, ecx
mov dword [esp + 0x28], eax
jl 0x4257d1
mov edx, eax
sub edx, ecx
cmp edx, 6
jge 0x4257d1
add dword [esp + 0x44], 0x1f
add ebx, 0x1f
lea eax, [ebx + 0x11]
mov dword [esp + 0x1c], eax
mov eax, 3
lea ecx, [esp + 0x48]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
push ecx
lea eax, [esp + 0x1c]
mov edi, esi
mov dword [esp + 0x40], ebx
mov dword [esp + 0x1c], 0xe
call fcn.00402f30
push str..NET_Frameword_4.0
lea ecx, [esp + 0x18]
call fcn.0040c910
mov eax, dword [esp + 0x14]
lea ecx, [eax + 2]
lea ecx, [ecx]
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x425760
fld dword [0x61ceb4]
mov edx, dword [esp + 0x14]
fstp dword [esp + 0x18]
sub eax, ecx
fild dword [esp + 0x3c]
sar eax, 1
push eax
push edx
fadd qword [0x61ce38]
lea ecx, [esp + 0x5c]
lea eax, [esp + 0x20]
lea edx, [esp + 0x38]
fstp dword [esp + 0x24]
call fcn.00402e50
mov edx, dword [esp + 0x28]
sub esp, 0x10
mov eax, esp
mov ecx, 1
mov dword [eax], ecx
mov dword [eax + 4], ebx
mov ecx, 0x157
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x54]
add edx, 0xffffffff
mov dword [eax + 0xc], ecx
push edx
mov eax, esi
mov edi, ebp
call fcn.004261f0
mov eax, dword [esp + 0x28]
cmp byte [ebp + 0x6a0], 0
jne 0x4258c1
mov ecx, dword [ebp + 0x5f4]
add eax, 1
cmp eax, ecx
mov dword [esp + 0x28], eax
jl 0x4258c1
mov edx, eax
sub edx, ecx
cmp edx, 6
jge 0x4258c1
add dword [esp + 0x44], 0x1f
add ebx, 0x1f
lea eax, [ebx + 0x11]
mov dword [esp + 0x1c], eax
mov eax, 3
lea ecx, [esp + 0x48]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
push ecx
lea eax, [esp + 0x1c]
mov edi, esi
mov dword [esp + 0x40], ebx
mov dword [esp + 0x1c], 0xe
call fcn.00402f30
push 0x6108a0
lea ecx, [esp + 0x18]
call fcn.0040c910
mov eax, dword [esp + 0x14]
lea ecx, [eax + 2]
lea ecx, [ecx]
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x425850
fld dword [0x61ceb4]
mov edx, dword [esp + 0x14]
fstp dword [esp + 0x18]
sub eax, ecx
fild dword [esp + 0x3c]
sar eax, 1
push eax
push edx
fadd qword [0x61ce38]
lea ecx, [esp + 0x5c]
lea eax, [esp + 0x20]
lea edx, [esp + 0x38]
fstp dword [esp + 0x24]
call fcn.00402e50
mov edx, dword [esp + 0x28]
sub esp, 0x10
mov eax, esp
mov ecx, 1
mov dword [eax], ecx
mov dword [eax + 4], ebx
mov ecx, 0x157
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x54]
add edx, 0xffffffff
mov dword [eax + 0xc], ecx
push edx
mov eax, esi
mov edi, ebp
call fcn.004261f0
mov eax, dword [esp + 0x28]
cmp byte [ebp + 0x6a2], 0
jne 0x4259ad
mov ecx, dword [ebp + 0x5f4]
add eax, 1
cmp eax, ecx
mov dword [esp + 0x28], eax
jl 0x4259ad
sub eax, ecx
cmp eax, 6
jge 0x4259ad
add dword [esp + 0x44], 0x1f
add ebx, 0x1f
lea eax, [ebx + 0x11]
mov dword [esp + 0x1c], eax
mov eax, 3
lea ecx, [esp + 0x48]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
push ecx
lea eax, [esp + 0x1c]
mov edi, esi
mov dword [esp + 0x40], ebx
mov dword [esp + 0x1c], 0xe
call fcn.00402f30
push 0x6108c8
lea ecx, [esp + 0x18]
call fcn.0040c910
mov eax, dword [esp + 0x14]
lea ecx, [eax + 2]
jmp 0x425940
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x425940
fld dword [0x61ceb4]
mov edx, dword [esp + 0x14]
fstp dword [esp + 0x18]
sub eax, ecx
fild dword [esp + 0x3c]
sar eax, 1
push eax
push edx
fadd qword [0x61ce38]
lea ecx, [esp + 0x5c]
lea eax, [esp + 0x20]
lea edx, [esp + 0x38]
fstp dword [esp + 0x24]
call fcn.00402e50
mov edx, dword [esp + 0x28]
sub esp, 0x10
mov eax, esp
mov ecx, 1
mov dword [eax], ecx
mov dword [eax + 4], ebx
mov ecx, 0x157
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x54]
add edx, 0xffffffff
mov dword [eax + 0xc], ecx
push edx
mov eax, esi
mov edi, ebp
call fcn.004261f0
mov eax, dword [ebp + 0x8c]
cmp eax, 4
jne 0x425ce2
push 8
push 0x6108e8
lea ecx, [esp + 0x1c]
call fcn.0040c990
mov edx, dword [esp + 0x14]
mov eax, edx
lea edi, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4259d5
fld dword [0x61ceac]
sub eax, edi
sar eax, 1
fstp dword [esp + 0x18]
fld dword [0x61cea8]
push eax
push edx
fstp dword [esp + 0x24]
lea ecx, [esp + 0x7c]
lea eax, [esp + 0x20]
lea edx, [esp + 0xa8]
call fcn.00402e50
push 5
push 0x6108fc
lea ecx, [esp + 0x1c]
call fcn.0040c990
mov eax, dword [ebp + 0x688]
push eax
lea ecx, [esp + 0x30]
push 0x610430
push ecx
call fcn.0040c8a0
add esp, 0xc
push 1
push 0x610908
lea ecx, [esp + 0x34]
call fcn.0040c0b0
mov ecx, dword [esp + 0x14]
mov eax, ecx
lea edx, [eax + 2]
mov di, word [eax]
add eax, 2
test di, di
jne 0x425a50
fld dword [0x61cea4]
sub eax, edx
sar eax, 1
fstp dword [esp + 0x18]
fld dword [0x61cea0]
push eax
push ecx
fstp dword [esp + 0x24]
lea ecx, [esp + 0x7c]
lea eax, [esp + 0x20]
lea edx, [esp + 0x38]
call fcn.00402e50
mov ecx, dword [esp + 0x2c]
mov eax, ecx
lea edx, [eax + 2]
nop
mov di, word [eax]
add eax, 2
test di, di
jne 0x425a90
fld dword [0x61ce9c]
sub eax, edx
sar eax, 1
fstp dword [esp + 0x18]
fld dword [0x61cea0]
push eax
push ecx
fstp dword [esp + 0x24]
lea ecx, [esp + 0x7c]
lea eax, [esp + 0x20]
lea edx, [esp + 0x38]
call fcn.00402e50
push 5
push 0x61090c
lea ecx, [esp + 0x1c]
call fcn.0040c990
mov edx, dword [ebp + 0x68c]
push edx
lea eax, [esp + 0x30]
push 0x610430
push eax
call fcn.0040c8a0
add esp, 0xc
push 1
push 0x610908
lea ecx, [esp + 0x34]
call fcn.0040c0b0
mov ecx, dword [esp + 0x14]
mov eax, ecx
lea edx, [eax + 2]
jmp 0x425b10
mov di, word [eax]
add eax, 2
test di, di
jne 0x425b10
fld dword [0x61cea4]
sub eax, edx
sar eax, 1
fstp dword [esp + 0x18]
fld dword [0x61ce98]
push eax
push ecx
fstp dword [esp + 0x24]
lea ecx, [esp + 0x90]
lea eax, [esp + 0x20]
lea edx, [esp + 0x38]
call fcn.00402e50
mov ecx, dword [esp + 0x2c]
mov eax, ecx
lea edx, [eax + 2]
mov di, word [eax]
add eax, 2
test di, di
jne 0x425b52
fld dword [0x61ce9c]
sub eax, edx
sar eax, 1
fstp dword [esp + 0x18]
fld dword [0x61ce98]
push eax
push ecx
fstp dword [esp + 0x24]
lea ecx, [esp + 0x90]
lea eax, [esp + 0x20]
lea edx, [esp + 0x38]
call fcn.00402e50
push 5
push 0x610918
lea ecx, [esp + 0x1c]
call fcn.0040c990
mov ecx, dword [ebp + 0x694]
push ecx
lea edx, [esp + 0x30]
push 0x610430
push edx
call fcn.0040c8a0
add esp, 0xc
push 1
push 0x610908
lea ecx, [esp + 0x34]
call fcn.0040c0b0
mov ecx, dword [esp + 0x14]
mov eax, ecx
lea edx, [eax + 2]
lea ecx, [ecx]
mov di, word [eax]
add eax, 2
test di, di
jne 0x425bd0
fld dword [0x61ce94]
sub eax, edx
sar eax, 1
fstp dword [esp + 0x18]
fld dword [0x61cea0]
push eax
push ecx
fstp dword [esp + 0x24]
lea ecx, [esp + 0x7c]
lea eax, [esp + 0x20]
lea edx, [esp + 0x38]
call fcn.00402e50
mov ecx, dword [esp + 0x2c]
mov eax, ecx
lea edx, [eax + 2]
nop
mov di, word [eax]
add eax, 2
test di, di
jne 0x425c10
fld dword [0x61ce90]
sub eax, edx
sar eax, 1
fstp dword [esp + 0x18]
fld dword [0x61cea0]
push eax
push ecx
fstp dword [esp + 0x24]
lea ecx, [esp + 0x7c]
lea eax, [esp + 0x20]
lea edx, [esp + 0x38]
call fcn.00402e50
push 5
push 0x610924
lea ecx, [esp + 0x1c]
call fcn.0040c990
mov eax, dword [ebp + 0x690]
push eax
lea ecx, [esp + 0x30]
push 0x610430
push ecx
call fcn.0040c8a0
add esp, 0xc
push 1
push 0x610908
lea ecx, [esp + 0x34]
call fcn.0040c0b0
mov ecx, dword [esp + 0x14]
mov eax, ecx
lea edx, [eax + 2]
jmp 0x425c90
mov di, word [eax]
add eax, 2
test di, di
jne 0x425c90
fld dword [0x61ce94]
sub eax, edx
sar eax, 1
fstp dword [esp + 0x18]
fld dword [0x61ce98]
push eax
push ecx
fstp dword [esp + 0x24]
lea ecx, [esp + 0x90]
lea eax, [esp + 0x20]
lea edx, [esp + 0x38]
call fcn.00402e50
mov edx, dword [esp + 0x2c]
mov eax, edx
lea edi, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x425cd2
jmp 0x425ff1
cmp eax, 5
jne 0x42601f
push 0x610930
lea ecx, [esp + 0x18]
call fcn.0040c910
mov edx, dword [esp + 0x14]
mov eax, edx
lea edi, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x425d02
fld dword [0x61ceac]
sub eax, edi
sar eax, 1
fstp dword [esp + 0x18]
fld dword [0x61cea8]
push eax
push edx
fstp dword [esp + 0x24]
lea ecx, [esp + 0x90]
lea eax, [esp + 0x20]
lea edx, [esp + 0xa8]
call fcn.00402e50
push 0x6108fc
lea ecx, [esp + 0x18]
call fcn.0040c910
mov edx, dword [ebp + 0x688]
push edx
lea eax, [esp + 0x30]
push 0x610430
push eax
call fcn.0040c8a0
add esp, 0xc
push 0x610908
lea ecx, [esp + 0x30]
call fcn.00421300
mov edx, dword [esp + 0x14]
mov eax, edx
lea edi, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x425d80
fld dword [0x61cea4]
sub eax, edi
sar eax, 1
fstp dword [esp + 0x18]
fld dword [0x61cea0]
push eax
push edx
fstp dword [esp + 0x24]
lea ecx, [esp + 0x7c]
lea eax, [esp + 0x20]
lea edx, [esp + 0x38]
call fcn.00402e50
mov edx, dword [esp + 0x2c]
mov eax, edx
lea edi, [eax + 2]
nop
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x425dc0
fld dword [0x61ce9c]
sub eax, edi
sar eax, 1
fstp dword [esp + 0x18]
fld dword [0x61cea0]
push eax
push edx
fstp dword [esp + 0x24]
lea ecx, [esp + 0x7c]
lea eax, [esp + 0x20]
lea edx, [esp + 0x38]
call fcn.00402e50
push 0x61090c
lea ecx, [esp + 0x18]
call fcn.0040c910
mov ecx, dword [ebp + 0x68c]
push ecx
lea edx, [esp + 0x30]
push 0x610430
push edx
call fcn.0040c8a0
add esp, 0xc
push 0x610908
lea ecx, [esp + 0x30]
call fcn.00421300
mov edx, dword [esp + 0x14]
mov eax, edx
lea edi, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x425e34
fld dword [0x61cea4]
sub eax, edi
sar eax, 1
fstp dword [esp + 0x18]
fld dword [0x61ce98]
push eax
push edx
fstp dword [esp + 0x24]
lea ecx, [esp + 0x90]
lea eax, [esp + 0x20]
lea edx, [esp + 0x38]
call fcn.00402e50
mov edx, dword [esp + 0x2c]
mov eax, edx
lea edi, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x425e76
fld dword [0x61ce9c]
sub eax, edi
sar eax, 1
fstp dword [esp + 0x18]
fld dword [0x61ce98]
push eax
push edx
fstp dword [esp + 0x24]
lea ecx, [esp + 0x90]
lea eax, [esp + 0x20]
lea edx, [esp + 0x38]
call fcn.00402e50
push 0x610918
lea ecx, [esp + 0x18]
call fcn.0040c910
mov eax, dword [ebp + 0x694]
push eax
lea ecx, [esp + 0x30]
push 0x610430
push ecx
call fcn.0040c8a0
add esp, 0xc
push 0x610908
lea ecx, [esp + 0x30]
call fcn.00421300
mov edx, dword [esp + 0x14]
mov eax, edx
lea edi, [eax + 2]
lea ecx, [ecx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x425ef0
fld dword [0x61ce94]
sub eax, edi
sar eax, 1
fstp dword [esp + 0x18]
fld dword [0x61cea0]
push eax
push edx
fstp dword [esp + 0x24]
lea ecx, [esp + 0x7c]
lea eax, [esp + 0x20]
lea edx, [esp + 0x38]
call fcn.00402e50
mov edx, dword [esp + 0x2c]
mov eax, edx
lea edi, [eax + 2]
nop
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x425f30
fld dword [0x61ce90]
sub eax, edi
sar eax, 1
fstp dword [esp + 0x18]
fld dword [0x61cea0]
push eax
push edx
fstp dword [esp + 0x24]
lea ecx, [esp + 0x7c]
lea eax, [esp + 0x20]
lea edx, [esp + 0x38]
call fcn.00402e50
push 0x610924
lea ecx, [esp + 0x18]
call fcn.0040c910
mov edx, dword [ebp + 0x690]
push edx
lea eax, [esp + 0x30]
push 0x610430
push eax
call fcn.0040c8a0
add esp, 0xc
push 0x610908
lea ecx, [esp + 0x30]
call fcn.00421300
mov edx, dword [esp + 0x14]
mov eax, edx
lea edi, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x425fa4
fld dword [0x61ce94]
sub eax, edi
sar eax, 1
fstp dword [esp + 0x18]
fld dword [0x61ce98]
push eax
push edx
fstp dword [esp + 0x24]
lea ecx, [esp + 0x90]
lea eax, [esp + 0x20]
lea edx, [esp + 0x38]
call fcn.00402e50
mov edx, dword [esp + 0x2c]
mov eax, edx
lea edi, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x425fe6
fld dword [0x61ce90]
sub eax, edi
sar eax, 1
fstp dword [esp + 0x18]
fld dword [0x61ce98]
push eax
push edx
fstp dword [esp + 0x24]
lea ecx, [esp + 0x90]
lea eax, [esp + 0x20]
lea edx, [esp + 0x38]
call fcn.00402e50
mov edx, dword [ebp + 0x534]
mov eax, dword [ebp + 0x530]
mov edi, dword [ebp + 0x53c]
mov ebx, dword [ebp + 0x538]
sub edi, dword [ebp + 0x534]
sub ebx, dword [ebp + 0x530]
sub esp, 0x10
mov dword [esp + 0x38], edx
mov dword [esp + 0x48], eax
mov eax, esp
mov edx, 0x158
mov dword [eax], edx
mov edx, 0x88
mov dword [eax + 4], edx
push 2
mov ecx, 0xffc6c6c6
mov edx, 5
mov dword [eax + 8], edx
push ecx
mov edx, 0xb7
push esi
mov dword [eax + 0xc], edx
call fcn.00421ab0
mov ebp, dword [ebp + 0x5ec]
test ebp, ebp
jne 0x4260a6
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x28]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], edi
mov eax, 0xfff6f7f7
jmp 0x4260ea
cmp ebp, 1
jne 0x4260c8
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x28]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], edi
or eax, 0xffffffff
jmp 0x4260ea
cmp ebp, 2
jne 0x4260f3
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x28]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], edi
mov eax, 0xfff0f0f0
push 4
push eax
push esi
call fcn.00421ab0
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x28]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], edi
mov eax, 0xffb4bec7
push eax
mov eax, 4
call fcn.004219d0
mov byte [esp + 0xcc], 9
mov eax, dword [esp + 0x2c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x426143
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0xcc], 8
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42616b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x80]
push ecx
call fcn.0059b6f2
mov edx, dword [esp + 0x70]
push edx
call fcn.0059b6f2
mov eax, dword [esp + 0x94]
push eax
call fcn.0059b72e
mov ecx, dword [esp + 0x64]
push ecx
call fcn.0059b72e
mov edx, dword [esp + 0x6c]
push edx
call fcn.0059b72e
mov eax, dword [esp + 0x84]
push eax
call fcn.0059b72e
mov ecx, dword [esp + 0x68]
push ecx
call fcn.0059b72e
mov edx, dword [esp + 0x60]
push edx
call fcn.0059b72e
mov eax, dword [esp + 0x98]
push eax
call fcn.0059b758
mov ecx, dword [esp + 0xc4]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xbc
ret 4