Function at 0x42a490
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x2a8
movsd xmm0, qword [0x48ddb0]
mov eax, ecx
xor ecx, ecx
mov dword [esp + 0x48], eax
push esi
xorps xmm2, xmm2
mov dword [esp + 0xcc], edx
mov esi, eax
mov dword [esp + 0x78], 0
movsx eax, byte [eax]
movaps xmm1, xmm2
mov dword [esp + 0xb8], 0
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x98], ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x38], ecx
movsd qword [esp + 0x7c], xmm2
movsd qword [esp + 4], xmm1
mov dword [esp + 0x14], esi
movsd qword [esp + 0x5c], xmm0
push edi
cmp eax, 0x2d
ja case.0x42a517.1
nop word [eax + eax]
movzx eax, byte [eax + 0x42b77c]
jmp dword [eax*4 + 0x42b768]
movsx eax, byte [esi + 1]
inc esi
mov dword [esp + 0x18], esi
cmp eax, 0x2d
jbe 0x42a510
jmp case.0x42a517.1
mov dword [esp + 0x3c], 1
inc esi
mov dword [esp + 0x18], esi
cmp byte [esi], cl
je case.0x42a843.74
mov dl, byte [esi]
cmp dl, 0x30
jne 0x42a566
mov dword [esp + 0x58], 1
inc esi
cmp byte [esi], 0x30
je 0x42a552
mov dl, byte [esi]
mov dword [esp + 0x18], esi
test dl, dl
je 0x42b65b
xor ecx, ecx
movsx edx, dl
xor eax, eax
mov dword [esp + 0x4c], esi
xor edi, edi
mov dword [esp + 0x40], ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x14], eax
cmp edx, 0x30
jl 0x42a5c2
cmp edx, 0x39
jg 0x42a5be
cmp eax, 9
jge 0x42a599
lea eax, [edi - 6]
lea eax, [edi + eax*4]
lea edi, [edx + eax*2]
jmp 0x42a5a7
cmp eax, 0x10
jge 0x42a5ab
lea eax, [ecx - 6]
lea eax, [ecx + eax*4]
lea ecx, [edx + eax*2]
mov eax, dword [esp + 0x14]
movsx edx, byte [esi + 1]
inc esi
inc eax
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], eax
cmp edx, 0x30
jge 0x42a584
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x2c], eax
mov eax, esi
sub eax, dword [esp + 0x4c]
mov dword [esp + 0x48], eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x14]
cmp edx, 0x2e
jne 0x42a6ff
movsx edx, byte [esi + 1]
inc esi
mov eax, esi
mov dword [esp + 0x44], esi
sub eax, dword [esp + 0x4c]
mov dword [esp + 0x48], eax
mov dword [esp + 0x98], eax
sub eax, dword [esp + 0x94]
mov dword [esp + 0x30], eax
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x18], esi
test eax, eax
jne 0x42a663
cmp edx, 0x30
jne 0x42a647
xor eax, eax
nop
movsx edx, byte [esi + 1]
inc esi
inc eax
mov dword [esp + 0x18], esi
cmp edx, 0x30
je 0x42a630
mov dword [esp + 0x1c], eax
mov dword [esp + 0x44], esi
lea eax, [edx - 0x31]
cmp eax, 8
ja 0x42a6fb
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x38], eax
xor eax, eax
mov dword [esp + 0x4c], esi
jmp 0x42a673
lea eax, [edx - 0x30]
cmp eax, 9
ja 0x42a6f7
mov eax, dword [esp + 0x1c]
inc eax
sub edx, 0x30
mov dword [esp + 0x1c], eax
mov dword [esp + 0x34], edx
je 0x42a6e5
add dword [esp + 0x38], eax
cmp eax, 1
jle 0x42a6bb
mov edx, dword [esp + 0x14]
lea esi, [eax - 1]
mov eax, edx
inc edx
cmp eax, 9
jge 0x42a6a0
lea edi, [edi + edi*4]
add edi, edi
jmp 0x42a6aa
cmp edx, 0x10
jg 0x42a6aa
lea ecx, [ecx + ecx*4]
add ecx, ecx
sub esi, 1
jne 0x42a691
mov esi, dword [esp + 0x44]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x14]
inc dword [esp + 0x14]
cmp eax, 9
jge 0x42a6d0
lea eax, [edi + edi*4]
lea edi, [edx + eax*2]
jmp 0x42a6dd
cmp dword [esp + 0x14], 0x10
jg 0x42a6dd
lea eax, [ecx + ecx*4]
lea ecx, [edx + eax*2]
mov dword [esp + 0x1c], 0
movsx edx, byte [esi + 1]
inc esi
mov dword [esp + 0x44], esi
mov dword [esp + 0x18], esi
jmp 0x42a663
mov dword [esp + 0x40], ecx
mov eax, dword [esp + 0x14]
mov dword [esp + 0x34], 0
cmp edx, 0x65
je 0x42a715
cmp edx, 0x45
jne 0x42a804
test eax, eax
jne 0x42a729
cmp dword [esp + 0x1c], eax
jne 0x42a729
cmp dword [esp + 0x58], eax
je case.0x42a843.74
movsx edx, byte [esi + 1]
mov dword [esp + 0x50], esi
mov eax, edx
inc esi
mov dword [esp + 0x44], 0
mov dword [esp + 0x18], esi
sub eax, 0x2b
je 0x42a752
sub eax, 2
jne 0x42a75b
mov dword [esp + 0x44], 1
movsx edx, byte [esi + 1]
inc esi
mov dword [esp + 0x18], esi
lea eax, [edx - 0x30]
cmp eax, 9
ja 0x42a7fc
cmp edx, 0x30
jne 0x42a77e
nop dword [eax]
movsx edx, byte [esi + 1]
inc esi
cmp edx, 0x30
je 0x42a770
mov dword [esp + 0x18], esi
lea eax, [edx - 0x31]
cmp eax, 8
ja 0x42a7f2
mov dword [esp + 0x5c], esi
lea eax, [edx - 0x30]
movsx edx, byte [esi + 1]
inc esi
mov dword [esp + 0x34], eax
mov dword [esp + 0x18], esi
cmp edx, 0x30
jl 0x42a7c4
mov ecx, eax
cmp edx, 0x39
jg 0x42a7bc
inc esi
lea ecx, [ecx + ecx*4]
lea ecx, [ecx - 0x18]
mov dword [esp + 0x18], esi
lea ecx, [edx + ecx*2]
movsx edx, byte [esi]
cmp edx, 0x30
jge 0x42a7a1
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x40]
mov eax, esi
sub eax, dword [esp + 0x5c]
cmp eax, 8
jg 0x42a7da
mov eax, dword [esp + 0x34]
cmp eax, 0x4e1f
jle 0x42a7e3
mov eax, 0x4e1f
mov dword [esp + 0x34], eax
cmp dword [esp + 0x44], 0
je 0x42a804
neg eax
mov dword [esp + 0x34], eax
jmp 0x42a804
mov dword [esp + 0x34], 0
jmp 0x42a804
mov esi, dword [esp + 0x50]
mov dword [esp + 0x18], esi
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x42a90f
cmp dword [esp + 0x1c], eax
jne 0x42b65b
cmp dword [esp + 0x58], eax
jne 0x42b65b
mov eax, dword [esp + 0x30]
test eax, eax
jne case.0x42a843.74
add edx, 0xffffffb7
cmp edx, 0x25
ja case.0x42a843.74
movzx eax, byte [edx + 0x42b7b8]
jmp dword [eax*4 + 0x42b7ac]
mov edx, 0x6e
mov edi, 0x48c3d9
movsx ecx, byte [esi + 1]
inc esi
lea eax, [ecx - 0x41]
cmp eax, 0x19
ja 0x42a864
add ecx, 0x20
cmp ecx, edx
jne case.0x42a843.74
movsx edx, byte [edi]
inc edi
test edx, edx
jne 0x42a854
mov eax, esi
lea ecx, [esp + 0x18]
mov edx, str.inity
mov dword [esp + 0x18], eax
call fcn.00429d20
mov esi, dword [esp + 0x18]
test eax, eax
jne 0x42a891
inc esi
mov dword [esp + 0xc], 0x7ff00000
mov dword [esp + 8], 0
movsd xmm1, qword [esp + 8]
jmp 0x42b65b
mov edx, 0x61
mov edi, 0x48c3e5
movsx ecx, byte [esi + 1]
inc esi
lea eax, [ecx - 0x41]
cmp eax, 0x19
ja 0x42a8c6
add ecx, 0x20
cmp ecx, edx
jne case.0x42a843.74
movsx edx, byte [edi]
inc edi
test edx, edx
jne 0x42a8b6
inc esi
mov dword [esp + 0xc], 0x7ff80000
mov dword [esp + 0x18], esi
mov dword [esp + 8], edx
cmp byte [esi], 0x28
jne 0x42a8a1
lea edx, [esp + 0x18]
lea ecx, [esp + 8]
call fcn.00429d60
movsd xmm1, qword [esp + 8]
mov esi, dword [esp + 0x18]
jmp 0x42b65b
mov esi, dword [esp + 0x50]
xor eax, eax
jmp 0x42b65f
mov edx, dword [esp + 0x34]
sub edx, dword [esp + 0x38]
mov dword [esp + 0x34], edx
mov dword [esp + 0xa4], edx
mov edx, dword [esp + 0x2c]
test edx, edx
movd xmm0, edi
cmove edx, eax
mov dword [esp + 0x2c], edx
mov edx, 0x10
cmp eax, edx
cvtdq2pd xmm0, xmm0
cmovl edx, eax
mov eax, edi
shr eax, 0x1f
mov dword [esp + 0x50], edx
addsd xmm0, qword [eax*8 + 0x48dd90]
movsd qword [esp + 0x20], xmm0
movsd qword [esp + 8], xmm0
cmp edx, 9
jle 0x42a998
movsd xmm1, qword [edx*8 + 0x48c420]
mulsd xmm1, xmm0
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
addsd xmm0, qword [ecx*8 + 0x48dd90]
addsd xmm1, xmm0
movaps xmm0, xmm1
movsd qword [esp + 0x20], xmm0
movsd qword [esp + 8], xmm0
mov eax, dword [esp + 0x14]
cmp eax, 0xf
jg 0x42aa38
call fcn.00465a68
cmp eax, 1
jne 0x42aa27
mov edx, dword [esp + 0x34]
test edx, edx
je 0x42b64f
jle 0x42aa05
cmp edx, 0x16
jg 0x42a9d6
movsd xmm1, qword [esp + 0x20]
mulsd xmm1, qword [edx*8 + 0x48c468]
jmp 0x42b655
mov ecx, 0xf
sub ecx, dword [esp + 0x14]
lea eax, [ecx + 0x16]
cmp edx, eax
jg 0x42aa27
movsd xmm1, qword [esp + 0x20]
sub edx, ecx
mulsd xmm1, qword [ecx*8 + 0x48c468]
mulsd xmm1, qword [edx*8 + 0x48c468]
jmp 0x42b655
cmp edx, 0xffffffea
jl 0x42aa27
movsd xmm1, qword [esp + 0x20]
lea eax, [edx*8]
mov ecx, 0x48c468
sub ecx, eax
divsd xmm1, qword [ecx]
jmp 0x42b655
movsd xmm2, qword [esp + 0x80]
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x34]
sub ecx, edx
xor edx, edx
add ecx, eax
mov dword [esp + 0x1c], edx
mov dword [esp + 0xb8], edx
test ecx, ecx
jle 0x42ab0c
movsd xmm1, qword [esp + 0x20]
mov eax, ecx
and eax, 0xf
je 0x42aa71
mulsd xmm1, qword [eax*8 + 0x48c468]
movsd qword [esp + 8], xmm1
and ecx, 0xfffffff0
je 0x42ac08
cmp ecx, 0x134
jg 0x42b423
sar ecx, 4
xor eax, eax
cmp ecx, 1
jle 0x42aaac
test cl, 1
je 0x42aaa4
mulsd xmm1, qword [eax*8 + 0x48c410]
movsd qword [esp + 8], xmm1
sar ecx, 1
inc eax
cmp ecx, 1
jg 0x42aa90
sub dword [esp + 0xc], 0x3500000
movsd xmm0, qword [eax*8 + 0x48c410]
mulsd xmm0, qword [esp + 8]
movsd qword [esp + 8], xmm0
mov eax, dword [esp + 0xc]
mov ecx, eax
and ecx, 0x7ff00000
cmp ecx, 0x7ca00000
ja 0x42b423
cmp ecx, 0x7c900000
jbe 0x42aafe
mov dword [esp + 0xc], 0x7fefffff
mov dword [esp + 8], 0xffffffff
jmp 0x42ac08
add eax, 0x3500000
mov dword [esp + 0xc], eax
jmp 0x42ac08
jns 0x42ac08
movsd xmm1, qword [esp + 0x20]
neg ecx
mov eax, ecx
and eax, 0xf
je 0x42ab36
divsd xmm1, qword [eax*8 + 0x48c468]
movsd qword [esp + 0x20], xmm1
movsd qword [esp + 8], xmm1
sar ecx, 4
test ecx, ecx
je 0x42ac08
cmp ecx, 0x20
jge 0x42b635
test cl, 0x10
mov eax, 0x6a
cmovne edx, eax
mov dword [esp + 0x1c], edx
mov dword [esp + 0xb8], edx
test ecx, ecx
jle 0x42ab8e
mov eax, 0x48c440
nop dword [eax]
test cl, 1
je 0x42ab7f
mulsd xmm1, qword [eax]
movsd qword [esp + 8], xmm1
sar ecx, 1
add eax, 8
test ecx, ecx
jg 0x42ab70
movsd qword [esp + 0x20], xmm1
test edx, edx
je 0x42abf4
mov edx, dword [esp + 0xc]
mov ecx, 0x6b
mov eax, edx
shr eax, 0x14
and eax, 0x7ff
sub ecx, eax
test ecx, ecx
jle 0x42abf4
cmp ecx, 0x20
jl 0x42abe3
mov dword [esp + 8], 0
cmp ecx, 0x35
jl 0x42abcd
mov dword [esp + 0xc], 0x3700000
movsd xmm1, qword [esp + 8]
jmp 0x42abfa
add ecx, 0xffffffe0
or eax, 0xffffffff
shl eax, cl
and edx, eax
mov dword [esp + 0xc], edx
movsd xmm1, qword [esp + 8]
jmp 0x42abfa
or eax, 0xffffffff
shl eax, cl
and dword [esp + 8], eax
movsd xmm1, qword [esp + 8]
jmp 0x42abfa
movsd xmm1, qword [esp + 0x20]
ucomisd xmm1, xmm2
lahf
test ah, 0x44
jnp 0x42b635
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0xac], esi
mov dword [esp + 0xb0], edx
cmp esi, 0x28
jle 0x42ace0
mov eax, 0x12
mov ecx, eax
cmp edx, eax
jge 0x42ac38
mov eax, dword [esp + 0x30]
add eax, ecx
mov esi, dword [esp + 0x94]
mov edx, dword [esp + 0x4c]
dec eax
cmp eax, dword [esp + 0x48]
jg 0x42ac51
cmp eax, esi
jl 0x42ac51
lea eax, [esi - 1]
cmp byte [eax + edx], 0x30
jne 0x42ac5a
dec ecx
jmp 0x42ac43
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x2c]
sub esi, ecx
add dword [esp + 0x34], esi
cmp edx, ecx
mov esi, ecx
cmovg edx, ecx
mov dword [esp + 0x14], esi
mov dword [esp + 0x2c], edx
cmp ecx, 9
jge 0x42ace0
xor edx, edx
xor edi, edi
cmp dword [esp + 0x2c], edx
jle 0x42acaa
mov esi, dword [esp + 0x2c]
nop word [eax + eax]
mov eax, dword [esp + 0x4c]
lea edi, [edi + edi*4]
lea edi, [edi - 0x18]
movsx ecx, byte [edx + eax]
inc edx
lea edi, [ecx + edi*2]
cmp edx, esi
jl 0x42ac90
mov esi, dword [esp + 0x14]
cmp edx, esi
jge 0x42acdc
mov eax, dword [esp + 0x48]
add eax, dword [esp + 0x4c]
sub esi, edx
mov dword [esp + 0x48], esi
mov esi, eax
mov dword [esp + 0x5c], eax
sub dword [esp + 0x48], 1
lea edi, [edi + edi*4]
movsx eax, byte [esi]
lea edi, [edi - 0x18]
lea esi, [esi + 1]
lea edi, [eax + edi*2]
jne 0x42acc2
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x2c]
push dword [esp + 0x30]
mov ecx, dword [esp + 0x50]
push edi
push esi
call fcn.00429090
movsd xmm0, qword [0x48dd20]
mov ecx, eax
movsd qword [esp + 0x12c], xmm0
add esp, 0xc
movsd xmm0, qword [0x48dd10]
movsd qword [esp + 0xe8], xmm0
movsd xmm0, qword [0x48dd00]
lea eax, [ecx + 0xc]
movsd qword [esp + 0xc0], xmm0
movsd xmm0, qword [0x48dd70]
movsd qword [esp + 0x128], xmm0
movsd xmm0, qword [0x48dd58]
movsd qword [esp + 0x130], xmm0
movsd xmm0, qword [0x48dce0]
movsd qword [esp + 0x138], xmm0
movsd xmm0, qword [0x48dcf8]
movsd qword [esp + 0x140], xmm0
movsd xmm0, qword [0x48dd08]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x5c], eax
movsd qword [esp + 0x148], xmm0
mov ecx, dword [ecx + 4]
mov edi, 1
call fcn.00428eb0
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x40], eax
mov ecx, dword [ecx + 0x10]
lea ecx, [ecx*4 + 8]
push ecx
push dword [esp + 0x60]
lea ecx, [eax + 0xc]
push ecx
call fcn.0045ba70
add esp, 0xc
lea eax, [esp + 0xd4]
lea edx, [esp + 0x58]
lea ecx, [esp + 8]
push eax
call fcn.00429b30
add esp, 4
mov dword [esp + 0x2c], eax
mov ecx, edi
call fcn.00429230
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x34]
test eax, eax
js 0x42adf0
xor edi, edi
mov dword [esp + 0x50], eax
xor ecx, ecx
jmp 0x42adfe
mov edi, eax
xor edx, edx
neg edi
mov dword [esp + 0x50], edx
mov ecx, edi
xor eax, eax
mov edx, dword [esp + 0x58]
mov dword [esp + 0x30], eax
mov dword [esp + 0x44], ecx
test edx, edx
js 0x42ae16
add ecx, edx
mov dword [esp + 0x44], ecx
jmp 0x42ae1c
sub eax, edx
mov dword [esp + 0x30], eax
sub edx, dword [esp + 0x1c]
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x38], ecx
lea ecx, [eax - 1]
add ecx, edx
add edx, 0x433
mov dword [esp + 0x20], edx
mov edx, 0x36
sub edx, eax
mov eax, dword [esp + 0x1c]
cmp ecx, 0xfffffc02
mov ecx, dword [esp + 0x44]
cmovl edx, dword [esp + 0x20]
add eax, edx
add ecx, edx
mov edx, dword [esp + 0x30]
add edx, eax
mov dword [esp + 0x44], ecx
cmp ecx, edx
mov dword [esp + 0x30], edx
mov eax, edx
cmovl eax, ecx
cmp eax, dword [esp + 0x38]
cmovg eax, dword [esp + 0x38]
test eax, eax
jle 0x42ae8a
sub ecx, eax
sub edx, eax
sub dword [esp + 0x38], eax
mov dword [esp + 0x44], ecx
mov dword [esp + 0x30], edx
test edi, edi
jle 0x42afb7
mov ecx, dword [esp + 0x14]
mov edx, edi
call fcn.00429410
mov edx, dword [esp + 0x2c]
mov ecx, eax
mov dword [esp + 0x14], eax
call fcn.004292d0
mov edi, eax
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x42afad
cmp dword [eax + 4], 7
jle 0x42aed6
push eax
call fcn.0045ffec
mov ecx, dword [esp + 0x48]
add esp, 4
mov dword [esp + 0x2c], edi
jmp 0x42afbb
mov eax, dword [esp + 0x7c]
test al, 1
je 0x42aef1
and eax, 0xfffffffe
lea ecx, [esp + 0x150]
mov dword [esp + 0x7c], eax
call fcn.00414010
mov eax, dword [0x495d60]
test eax, 0xfffffffe
jne 0x42af4e
mov ecx, 1
xor eax, eax
mov edx, 0x495d60
lock cmpxchg dword [edx], ecx
test eax, eax
je 0x42af34
mov eax, dword [0x495d60]
cmp eax, 1
jne 0x42af4e
nop dword [eax + eax]
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [0x495d60]
cmp eax, 1
je 0x42af20
jmp 0x42af4e
push 0x7d0
push 0x495d64
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSectionAndSpinCount]
mov dword [0x495d60], 0x495d64
mov eax, dword [0x495d60]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [esp + 0x2c]
mov ecx, dword [edx + 4]
mov eax, dword [ecx*4 + 0x495d40]
mov dword [edx], eax
mov eax, dword [esp + 0x7c]
mov dword [ecx*4 + 0x495d40], edx
test eax, 0x200
je 0x42af91
and eax, 0xfffffdff
lea ecx, [esp + 0x200]
mov dword [esp + 0x7c], eax
call fcn.00414010
mov ecx, 0x495d60
call fcn.00415780
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x2c], edi
jmp 0x42afbb
mov edi, dword [esp + 0x2c]
test ecx, ecx
jle 0x42afce
mov edx, ecx
mov ecx, edi
call fcn.00429640
mov edi, eax
mov dword [esp + 0x2c], edi
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x40]
test eax, eax
jle 0x42afe7
mov edx, eax
call fcn.00429410
mov ecx, eax
mov dword [esp + 0x40], ecx
mov eax, dword [esp + 0x30]
test eax, eax
jle 0x42affc
mov edx, eax
call fcn.00429640
mov ecx, eax
mov dword [esp + 0x40], ecx
mov eax, dword [esp + 0x38]
test eax, eax
jle 0x42b017
mov ecx, dword [esp + 0x14]
mov edx, eax
call fcn.00429640
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x14], eax
mov edx, ecx
mov ecx, edi
call fcn.00429870
mov edx, dword [esp + 0x14]
mov ecx, eax
mov dword [esp + 0x30], eax
mov edi, dword [eax + 0xc]
mov dword [esp + 0x38], edi
mov dword [esp + 0xa0], edi
mov dword [eax + 0xc], 0
call fcn.00429820
mov ecx, dword [esp + 0xac]
cmp ecx, esi
jle 0x42b057
test eax, eax
jle 0x42b3ee
test eax, eax
js 0x42b57e
je 0x42b449
mov edi, dword [esp + 0x30]
lea edx, [esp + 0xcc]
mov ecx, edi
call fcn.004299d0
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0xfc]
movaps xmm1, xmm0
movsd qword [esp + 0xd8], xmm1
call fcn.004299d0
mov ecx, dword [esp + 0x14]
mov eax, dword [edi + 0x10]
movsd qword [esp + 0xe0], xmm0
sub eax, dword [ecx + 0x10]
shl eax, 5
sub eax, dword [esp + 0xfc]
add eax, dword [esp + 0xcc]
test eax, eax
jle 0x42b0d0
shl eax, 0x14
add dword [esp + 0xdc], eax
movsd xmm1, qword [esp + 0xd8]
jmp 0x42b0e6
imul eax, eax, 0xfff00000
add dword [esp + 0xe4], eax
movsd xmm0, qword [esp + 0xe0]
divsd xmm1, xmm0
mov edi, dword [esp + 0xc]
movsd xmm0, qword [esp + 0x120]
comisd xmm0, xmm1
jb 0x42b182
cmp dword [esp + 0x38], 0
je 0x42b119
movsd xmm2, qword [esp + 0xe8]
movaps xmm1, xmm2
jmp 0x42b1cc
mov eax, dword [esp + 8]
test eax, eax
jne 0x42b161
test edi, 0xfffff
jne 0x42b16e
movsd xmm0, qword [esp + 0xe8]
comisd xmm0, xmm1
jbe 0x42b14e
movsd xmm1, qword [esp + 0xc0]
movaps xmm2, xmm1
xorps xmm2, xmmword [esp + 0x60]
jmp 0x42b1cc
mulsd xmm1, qword [esp + 0xc0]
movaps xmm2, xmm1
xorps xmm2, xmmword [esp + 0x60]
jmp 0x42b1cc
cmp eax, 1
jne 0x42b16e
test edi, edi
je 0x42b402
movsd xmm1, qword [esp + 0xe8]
movsd xmm2, qword [esp + 0x128]
jmp 0x42b1cc
cmp dword [esp + 0x38], 0
mulsd xmm1, qword [esp + 0xc0]
movsd qword [esp + 0x50], xmm1
je 0x42b1a0
movsd qword [esp + 0x20], xmm1
jmp 0x42b1ae
movaps xmm0, xmm1
xorps xmm0, xmmword [esp + 0x60]
movsd qword [esp + 0x20], xmm0
call fcn.00465a68
movsd xmm2, qword [esp + 0x20]
movsd xmm1, qword [esp + 0x50]
test eax, eax
jne 0x42b1d2
addsd xmm2, qword [esp + 0xc0]
movsd qword [esp + 0x20], xmm2
mov edx, edi
and edx, 0x7ff00000
mov dword [esp + 0x50], edx
cmp edx, 0x7fe00000
jne 0x42b295
movsd xmm0, qword [esp + 8]
sub edi, 0x3500000
mov dword [esp + 0xc], edi
and edi, 0x7ff00000
sub edi, 0x3400000
movsd qword [esp + 0x88], xmm0
mov dword [esp + 0x11c], edi
mov dword [esp + 0x118], 0
movsd xmm0, qword [esp + 0x118]
mulsd xmm0, xmm2
addsd xmm0, qword [esp + 8]
movsd qword [esp + 8], xmm0
mov ecx, dword [esp + 0xc]
mov eax, ecx
and eax, 0x7ff00000
cmp eax, 0x7ca00000
jb 0x42b27c
cmp dword [esp + 0x8c], 0x7fefffff
jne 0x42b267
cmp dword [esp + 0x88], 0xffffffff
je 0x42b41f
mov dword [esp + 0xc], 0x7fefffff
mov dword [esp + 8], 0xffffffff
jmp 0x42b3c1
mov edi, dword [esp + 0x1c]
add ecx, 0x3500000
mov dword [esp + 0xc], ecx
movsd xmm0, qword [esp + 8]
jmp 0x42b34e
mov edi, dword [esp + 0x1c]
test edi, edi
je 0x42b319
cmp edx, 0x6a00000
ja 0x42b319
movsd xmm0, qword [esp + 0x130]
comisd xmm0, xmm1
jb 0x42b2f3
movaps xmm0, xmm1
call fcn.0045ac71
test eax, eax
mov edx, 1
cmove eax, edx
mov edx, dword [esp + 0x50]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
shr eax, 0x1f
cmp dword [esp + 0x38], 0
addsd xmm1, qword [eax*8 + 0x48dd90]
movaps xmm0, xmm1
jne 0x42b2f9
xorps xmm0, xmmword [esp + 0x60]
jmp 0x42b2f9
movsd xmm0, qword [esp + 0x20]
mov eax, 0x6b00000
movsd qword [esp + 0xf0], xmm0
sub eax, edx
add dword [esp + 0xf4], eax
movsd xmm2, qword [esp + 0xf0]
lea eax, [edx - 0x3400000]
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], eax
movsd xmm0, qword [esp + 0x100]
mulsd xmm0, xmm2
addsd xmm0, qword [esp + 8]
movsd qword [esp + 8], xmm0
mov ecx, dword [esp + 0xc]
movsd qword [esp + 0x20], xmm0
cmp dword [esp + 0xac], esi
jne 0x42b3c1
test edi, edi
jne 0x42b3c1
mov eax, ecx
and eax, 0x7ff00000
cmp edx, eax
jne 0x42b3c1
cvttsd2si eax, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
cmp dword [esp + 0x38], edi
jne 0x42b39f
cmp dword [esp + 8], edi
jne 0x42b39f
test ecx, 0xfffff
jne 0x42b39f
movsd xmm0, qword [esp + 0x138]
comisd xmm0, xmm1
jmp 0x42b3bb
movsd xmm0, qword [esp + 0x140]
comisd xmm0, xmm1
ja 0x42b6a6
comisd xmm1, xmmword [esp + 0x148]
ja 0x42b6a6
mov ecx, dword [esp + 0x2c]
call fcn.00428f70
mov ecx, dword [esp + 0x40]
call fcn.00428f70
mov ecx, dword [esp + 0x14]
call fcn.00428f70
mov ecx, dword [esp + 0x30]
call fcn.00428f70
mov ecx, dword [esp + 0x48]
jmp 0x42ad87
test edi, edi
jne 0x42b696
mov dword [esp + 0xac], esi
jmp 0x42b586
cmp dword [esp + 0xac], esi
jle 0x42b626
mov dword [esp + 0xbc], 1
jmp 0x42b696
mov esi, dword [esp + 0x18]
call fcn.00465239
mov dword [esp + 0xc], 0x7ff00000
mov dword [esp + 8], 0
movsd xmm1, qword [esp + 8]
mov dword [eax], 0x22
jmp 0x42b655
mov edx, dword [esp + 8]
test edi, edi
mov edi, dword [esp + 0xc]
je 0x42b4b4
mov eax, edi
and eax, 0xfffff
cmp eax, 0xfffff
jne 0x42b4c4
cmp dword [esp + 0x1c], 0
je 0x42b489
mov eax, edi
and eax, 0x7ff00000
cmp eax, 0x6a00000
ja 0x42b489
shr eax, 0x14
mov ecx, 0x6b
sub ecx, eax
or eax, 0xffffffff
shl eax, cl
jmp 0x42b48c
or eax, 0xffffffff
cmp edx, eax
jne 0x42b4c4
and edi, 0x7ff00000
mov dword [esp + 8], 0
add edi, 0x100000
mov dword [esp + 0xa0], 0
jmp 0x42b692
test edi, 0xfffff
jne 0x42b4c4
test edx, edx
je 0x42b5f1
test dl, 1
je 0x42b696
mov ecx, dword [esp + 0x38]
and edi, 0x7ff00000
sub edi, 0x3400000
test ecx, ecx
je 0x42b521
mov dword [esp + 0x10c], edi
mov dword [esp + 0x108], 0
movsd xmm0, qword [esp + 0x108]
addsd xmm0, qword [esp + 8]
movsd qword [esp + 0x20], xmm0
movsd qword [esp + 8], xmm0
mov eax, 1
sub eax, ecx
mov dword [esp + 0xa0], eax
jmp 0x42b6a2
movsd xmm0, qword [esp + 8]
movsd xmm1, qword [esp + 0x80]
mov dword [esp + 0x114], edi
mov dword [esp + 0x110], 0
subsd xmm0, qword [esp + 0x110]
ucomisd xmm0, xmm1
movsd qword [esp + 0x20], xmm0
movsd qword [esp + 8], xmm0
lahf
test ah, 0x44
jp 0x42b50e
cmp dword [esp + 0xac], esi
jle 0x42b62f
mov dword [esp + 0xbc], 1
jmp 0x42b6a2
test edi, edi
jne 0x42b696
cmp dword [esp + 8], 0
jne 0x42b696
mov edi, dword [esp + 0xc]
test edi, 0xfffff
jne 0x42b696
mov eax, edi
and eax, 0x7ff00000
cmp eax, 0x6b00000
jbe 0x42b696
mov eax, dword [esp + 0x30]
cmp dword [eax + 0x14], 0
jne 0x42b5c7
cmp dword [eax + 0x10], 1
jle 0x42b696
mov edx, 1
mov ecx, eax
call fcn.00429640
mov edx, dword [esp + 0x14]
mov ecx, eax
mov dword [esp + 0x30], eax
call fcn.00429820
test eax, eax
jle 0x42b696
mov ecx, dword [esp + 0xac]
cmp dword [esp + 0x1c], 0
je 0x42b67d
mov eax, edi
and eax, 0x7ff00000
cmp eax, 0x6b00000
jg 0x42b67d
cmp eax, 0x3700000
jg 0x42b696
cmp ecx, esi
jle 0x42b626
mov dword [esp + 0xbc], 1
jmp 0x42b696
movsd xmm1, qword [esp + 0x80]
mov esi, dword [esp + 0x18]
jmp 0x42b63e
movsd xmm1, qword [esp + 0x80]
movsd qword [esp + 0x20], xmm1
call fcn.00465239
mov dword [eax], 0x22
movsd xmm1, qword [esp + 0x20]
movsd xmm0, qword [esp + 0x60]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0xd0]
test ecx, ecx
je 0x42b66c
mov dword [ecx], esi
test eax, eax
je 0x42b75f
xorps xmm0, xmm1
pop edi
pop esi
mov esp, ebp
pop ebp
ret
and edi, 0x7ff00000
mov dword [esp + 8], 0xffffffff
dec edi
or edi, 0xfffff
mov dword [esp + 0xc], edi
movsd xmm1, qword [esp + 8]
movsd qword [esp + 0x20], xmm1
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2c]
call fcn.00428f70
mov ecx, dword [esp + 0x40]
call fcn.00428f70
mov ecx, dword [esp + 0x14]
call fcn.00428f70
mov ecx, dword [esp + 0x48]
call fcn.00428f70
mov ecx, dword [esp + 0x30]
call fcn.00428f70
cmp dword [esp + 0xac], esi
jle 0x42b703
mov edx, dword [esp + 0x4c]
lea eax, [esp + 0x94]
push eax
lea ecx, [esp + 0xc]
call fcn.0042a080
mov edi, dword [esp + 0xbc]
add esp, 4
movsd xmm1, qword [esp + 8]
jmp 0x42b709
movsd xmm1, qword [esp + 0x20]
test edi, edi
je 0x42b756
mov dword [esp + 0x8c], 0x39500000
mov dword [esp + 0x88], 0
mulsd xmm1, qword [esp + 0x88]
movsd qword [esp + 8], xmm1
test dword [esp + 0xc], 0x7ff00000
movsd qword [esp + 0x20], xmm1
jne 0x42b756
call fcn.00465239
mov esi, dword [esp + 0x18]
mov dword [eax], 0x22
jmp 0x42b64f
mov esi, dword [esp + 0x18]
jmp 0x42b655
pop edi
movaps xmm0, xmm1
pop esi
mov esp, ebp
pop ebp
ret