Function at 0x425e30
Capabilities:
Check for peb ntglobalflag flag

Disassembly:
push 0xffffffffffffffff
push 0x49d880
mov eax, dword fs:[0]
push eax
sub esp, 0x70
mov eax, dword [0x4bc7dc]
xor eax, esp
mov dword [esp + 0x68], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4bc7dc]
xor eax, esp
push eax
lea eax, [esp + 0x84]
mov dword fs:[0], eax
mov eax, dword [esp + 0x94]
push 1
mov esi, ecx
xor ebp, ebp
push 0x4a8fb8
lea ecx, [esp + 0x30]
mov dword [esp + 0x2c], eax
mov byte [esp + 0x23], 0
mov dword [esp + 0x44], 0xf
mov dword [esp + 0x40], ebp
mov byte [esp + 0x30], 0
call fcn.00402300
mov dword [esp + 0x8c], ebp
cmp dword [esp + 0x3c], 0x10
mov ecx, dword [esp + 0x28]
lea edx, [esi + 0x14]
mov dword [esp + 0x1c], edx
jae 0x425eb7
lea ecx, [esp + 0x28]
mov edi, dword [edx + 0x10]
mov ebx, dword [esp + 0x38]
mov eax, edi
cmp edi, ebx
jb 0x425ec6
mov eax, ebx
cmp dword [edx + 0x14], 0x10
jb 0x425ece
mov edx, dword [edx]
call fcn.00403d90
cmp eax, ebp
jne 0x425ee9
cmp edi, ebx
jae 0x425ee0
or eax, 0xffffffff
jmp 0x425ee7
xor eax, eax
cmp edi, ebx
setne al
cmp eax, ebp
sete al
test al, al
je 0x425efc
lea ecx, [esi + 0x10]
call fcn.00442b80
mov bl, 1
jmp 0x425efe
xor bl, bl
mov dword [esp + 0x8c], 0xffffffff
cmp dword [esp + 0x3c], 0x10
jb 0x425f1d
mov ecx, dword [esp + 0x28]
push ecx
call fcn.0047fe1e
add esp, 4
test bl, bl
mov bl, 1
jne 0x425f27
mov bl, byte [esp + 0x1b]
mov eax, dword [esi + 0x10]
cmp eax, 3
jne 0x425f84
push 0xffffffffffffffff
push 0xffffffffffffffff
lea edx, [esp + 0x24]
call fcn.00425ba0
test al, al
je 0x42611b
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov ecx, eax
and eax, 0x7fffffff
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x1c], edx
fild qword [esp + 0x1c]
and ecx, 0x80000000
mov dword [esp + 0x20], ecx
mov dword [esp + 0x1c], 0
fild qword [esp + 0x1c]
fchs
faddp st(1)
fstp qword [eax]
jmp 0x4260aa
cmp eax, 4
jne 0x425fa9
mov ecx, dword [esp + 0x1c]
push ecx
call fcn.00443270
mov edx, dword [esp + 0x28]
add esp, 4
fstp qword [edx]
lea ecx, [esi + 0x10]
call fcn.00442b80
jmp 0x4260aa
cmp eax, 2
jne 0x4260bc
mov eax, dword [esp + 0x1c]
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x34]
mov dword [esp + 0x48], 0xf
mov dword [esp + 0x44], 0
mov byte [esp + 0x34], 0
call fcn.00402a60
lea eax, [esp + 0x28]
mov dword [esp + 0x8c], 1
call fcn.00423b90
mov ecx, 0x4a9094
lea edi, [esp + 0x28]
call fcn.0041e680
test al, al
jne 0x426077
mov ecx, str.infinity
call fcn.0041e680
test al, al
jne 0x426077
mov ecx, 0x4a90a4
call fcn.0041e680
test al, al
je 0x426029
fld qword [0x4bc1c8]
mov ecx, dword [esp + 0x24]
fstp qword [ecx]
jmp 0x426083
push str.Expected_double.
lea ecx, [esp + 0x64]
call fcn.004022c0
mov byte [esp + 0x8c], 2
mov edx, dword [esi + 0x34]
mov ecx, dword [esi + 0x30]
push esi
lea ebx, [esp + 0x64]
call fcn.00423d40
mov ecx, ebx
mov byte [esp + 0x8c], 1
call fcn.0047d500
lea ecx, [esp + 0x28]
mov dword [esp + 0x8c], 0xffffffff
call fcn.0047d500
jmp 0x42611b
fld qword [0x4bc1b8]
mov edx, dword [esp + 0x24]
fstp qword [edx]
lea ecx, [esi + 0x10]
call fcn.00442b80
mov dword [esp + 0x8c], 0xffffffff
cmp dword [esp + 0x3c], 0x10
jb 0x4260aa
mov eax, dword [esp + 0x28]
push eax
call fcn.0047fe1e
add esp, 4
test bl, bl
je 0x4260b8
mov eax, dword [esp + 0x24]
fld qword [eax]
fchs
fstp qword [eax]
mov al, 1
jmp 0x42611d
push 0x10
push str.Expected_double.
lea ecx, [esp + 0x4c]
mov dword [esp + 0x60], 0xf
mov dword [esp + 0x5c], 0
mov byte [esp + 0x4c], 0
call fcn.00402300
mov dword [esp + 0x8c], 3
mov edx, dword [esi + 0x34]
mov ecx, dword [esi + 0x30]
push esi
lea ebx, [esp + 0x48]
call fcn.00423d40
mov dword [esp + 0x8c], 0xffffffff
cmp dword [esp + 0x58], 0x10
jb 0x42611b
mov ecx, dword [esp + 0x44]
push ecx
call fcn.0047fe1e
add esp, 4
xor al, al
mov ecx, dword [esp + 0x84]
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.0047fe29
add esp, 0x7c
ret 4