40d4c4:	d9 7d fe             	fnstcw -0x2(%ebp)
40d4c7:	33 c0                	xor    %eax,%eax
40d4c9:	55                   	push   %ebp
40d4ca:	68 f8 d4 40 00       	push   $0x40d4f8
40d4cf:	64 ff 30             	push   %fs:(%eax)
40d4d2:	64 89 20             	mov    %esp,%fs:(%eax)
40d4d5:	8b c3                	mov    %ebx,%eax
40d4d7:	e8 54 75 ff ff       	call   0x404a30
40d4dc:	50                   	push   %eax
40d4dd:	e8 7a 92 ff ff       	call   0x40675c
40d4e2:	89 45 f8             	mov    %eax,-0x8(%ebp)
40d4e5:	33 c0                	xor    %eax,%eax
40d4e7:	5a                   	pop    %edx
40d4e8:	59                   	pop    %ecx
40d4e9:	59                   	pop    %ecx
40d4ea:	64 89 10             	mov    %edx,%fs:(%eax)
40d4ed:	68 ff d4 40 00       	push   $0x40d4ff
40d4f2:	db e2                	fnclex
40d4f4:	d9 6d fe             	fldcw  -0x2(%ebp)
40d4f7:	c3                   	ret
40d4f8:	e9 4f 6a ff ff       	jmp    0x403f4c
40d4fd:	eb f3                	jmp    0x40d4f2
40d4ff:	33 c0                	xor    %eax,%eax
40d501:	5a                   	pop    %edx
40d502:	59                   	pop    %ecx
40d503:	59                   	pop    %ecx
40d504:	64 89 10             	mov    %edx,%fs:(%eax)
40d507:	68 1d d5 40 00       	push   $0x40d51d
40d50c:	8b 45 f4             	mov    -0xc(%ebp),%eax
40d50f:	50                   	push   %eax
40d510:	e8 7f 92 ff ff       	call   0x406794
40d515:	c3                   	ret
40d516:	e9 31 6a ff ff       	jmp    0x403f4c
40d51b:	eb ef                	jmp    0x40d50c
40d51d:	8b 45 f8             	mov    -0x8(%ebp),%eax
40d520:	5b                   	pop    %ebx
40d521:	8b e5                	mov    %ebp,%esp
40d523:	5d                   	pop    %ebp
40d524:	c3                   	ret
40d525:	8d 40 00             	lea    0x0(%eax),%eax
40d528:	1d 00 00 00 30       	sbb    $0x30000000,%eax
40d52d:	53                   	push   %ebx
40d52e:	45                   	inc    %ebp
40d52f:	00 f8                	add    %bh,%al
40d531:	0b 46 00             	or     0x0(%esi),%eax
40d534:	28 53 45             	sub    %dl,0x45(%ebx)
40d537:	00 30                	add    %dh,(%eax)
40d539:	0b 46 00             	or     0x0(%esi),%eax
40d53c:	20 53 45             	and    %dl,0x45(%ebx)
40d53f:	00 cc                	add    %cl,%ah
40d541:	09 46 00             	or     %eax,0x0(%esi)
40d544:	18 53 45             	sbb    %dl,0x45(%ebx)
40d547:	00 38                	add    %bh,(%eax)
40d549:	0c 46                	or     $0x46,%al
40d54b:	00 10                	add    %dl,(%eax)
40d54d:	53                   	push   %ebx
40d54e:	45                   	inc    %ebp
40d54f:	00 68 0c             	add    %ch,0xc(%eax)
40d552:	46                   	inc    %esi
40d553:	00 08                	add    %cl,(%eax)
40d555:	53                   	push   %ebx
40d556:	45                   	inc    %ebp
40d557:	00 6c 0a 46          	add    %ch,0x46(%edx,%ecx,1)
40d55b:	00 00                	add    %al,(%eax)
40d55d:	53                   	push   %ebx
40d55e:	45                   	inc    %ebp
40d55f:	00 1c 0b             	add    %bl,(%ebx,%ecx,1)
40d562:	46                   	inc    %esi
40d563:	00 f8                	add    %bh,%al
40d565:	52                   	push   %edx
40d566:	45                   	inc    %ebp
40d567:	00 94 09 46 00 f0 52 	add    %dl,0x52f00046(%ecx,%ecx,1)
40d56e:	45                   	inc    %ebp
40d56f:	00 60 0b             	add    %ah,0xb(%eax)
40d572:	46                   	inc    %esi
40d573:	00 e8                	add    %ch,%al
40d575:	52                   	push   %edx
40d576:	45                   	inc    %ebp
40d577:	00 a0 0b 46 00 e0    	add    %ah,-0x1fffb9f5(%eax)
40d57d:	52                   	push   %edx
40d57e:	45                   	inc    %ebp
40d57f:	00 ec                	add    %ch,%ah
40d581:	0a 46 00             	or     0x0(%esi),%al
40d584:	d8 52 45             	fcoms  0x45(%edx)
40d587:	00 f8                	add    %bh,%al
40d589:	0a 46 00             	or     0x0(%esi),%al
40d58c:	d0 52 45             	rclb   $1,0x45(%edx)
40d58f:	00 c8                	add    %cl,%al
40d591:	0c 46                	or     $0x46,%al
40d593:	00 c8                	add    %cl,%al
40d595:	52                   	push   %edx
40d596:	45                   	inc    %ebp
40d597:	00 f4                	add    %dh,%ah
40d599:	0a 46 00             	or     0x0(%esi),%al
40d59c:	c0 52 45 00          	rclb   $0x0,0x45(%edx)
40d5a0:	30 0d 46 00 b8 52    	xor    %cl,0x52b80046
40d5a6:	45                   	inc    %ebp
40d5a7:	00 d4                	add    %dl,%ah
40d5a9:	0b 46 00             	or     0x0(%esi),%eax
40d5ac:	b0 52                	mov    $0x52,%al
40d5ae:	45                   	inc    %ebp
40d5af:	00 b8 0b 46 00 a8    	add    %bh,-0x57ffb9f5(%eax)
40d5b5:	52                   	push   %edx
40d5b6:	45                   	inc    %ebp
40d5b7:	00 44 0d 46          	add    %al,0x46(%ebp,%ecx,1)
40d5bb:	00 a0 52 45 00 00    	add    %ah,0x4552(%eax)
40d5c1:	0d 46 00 98 52       	or     $0x52980046,%eax
40d5c6:	45                   	inc    %ebp
40d5c7:	00 08                	add    %cl,(%eax)
40d5c9:	0b 46 00             	or     0x0(%esi),%eax
40d5cc:	90                   	nop
40d5cd:	52                   	push   %edx
40d5ce:	45                   	inc    %ebp
40d5cf:	00 d4                	add    %dl,%ah
40d5d1:	0c 46                	or     $0x46,%al
40d5d3:	00 88 52 45 00 e0    	add    %cl,-0x1fffbaae(%eax)
40d5d9:	0c 46                	or     $0x46,%al
40d5db:	00 80 52 45 00 58    	add    %al,0x58004552(%eax)
40d5e1:	0a 46 00             	or     0x0(%esi),%al
40d5e4:	78 52                	js     0x40d638
40d5e6:	45                   	inc    %ebp
40d5e7:	00 1c 0a             	add    %bl,(%edx,%ecx,1)
40d5ea:	46                   	inc    %esi
40d5eb:	00 70 52             	add    %dh,0x52(%eax)
40d5ee:	45                   	inc    %ebp
40d5ef:	00 b4 0b 46 00 68 52 	add    %dh,0x52680046(%ebx,%ecx,1)
40d5f6:	45                   	inc    %ebp
40d5f7:	00 30                	add    %dh,(%eax)
40d5f9:	0c 46                	or     $0x46,%al
40d5fb:	00 60 52             	add    %ah,0x52(%eax)
40d5fe:	45                   	inc    %ebp
40d5ff:	00 a0 09 46 00 58    	add    %ah,0x58004609(%eax)
40d605:	52                   	push   %edx
40d606:	45                   	inc    %ebp
40d607:	00 c4                	add    %al,%ah
40d609:	0c 46                	or     $0x46,%al
40d60b:	00 50 52             	add    %dl,0x52(%eax)
40d60e:	45                   	inc    %ebp
40d60f:	00 04 0b             	add    %al,(%ebx,%ecx,1)
40d612:	46                   	inc    %esi
40d613:	00 28                	add    %ch,(%eax)
40d615:	00 00                	add    %al,(%eax)
40d617:	00 48 52             	add    %cl,0x52(%eax)
40d61a:	45                   	inc    %ebp
40d61b:	00 ac 0c 46 00 00 00 	add    %ch,0x46(%esp,%ecx,1)
40d622:	00 00                	add    %al,(%eax)
40d624:	44                   	inc    %esp
40d625:	52                   	push   %edx
40d626:	45                   	inc    %ebp
40d627:	00 d8                	add    %bl,%al
40d629:	09 46 00             	or     %eax,0x0(%esi)
40d62c:	00 00                	add    %al,(%eax)
40d62e:	00 00                	add    %al,(%eax)
40d630:	40                   	inc    %eax
40d631:	52                   	push   %edx
40d632:	45                   	inc    %ebp
40d633:	00 28                	add    %ch,(%eax)
40d635:	0c 46                	or     $0x46,%al
40d637:	00 00                	add    %al,(%eax)
40d639:	00 00                	add    %al,(%eax)
40d63b:	00 3c 52             	add    %bh,(%edx,%edx,2)
40d63e:	45                   	inc    %ebp
40d63f:	00 ac 09 46 00 00 00 	add    %ch,0x46(%ecx,%ecx,1)
40d646:	00 00                	add    %al,(%eax)
40d648:	38 52 45             	cmp    %dl,0x45(%edx)
40d64b:	00 34 0a             	add    %dh,(%edx,%ecx,1)
40d64e:	46                   	inc    %esi
40d64f:	00 00                	add    %al,(%eax)
40d651:	00 00                	add    %al,(%eax)
40d653:	00 34 52             	add    %dh,(%edx,%edx,2)
40d656:	45                   	inc    %ebp
40d657:	00 2c 0a             	add    %ch,(%edx,%ecx,1)
40d65a:	46                   	inc    %esi
40d65b:	00 00                	add    %al,(%eax)
40d65d:	00 00                	add    %al,(%eax)
40d65f:	00 30                	add    %dh,(%eax)
40d661:	52                   	push   %edx
40d662:	45                   	inc    %ebp
40d663:	00 e8                	add    %ch,%al
40d665:	09 46 00             	or     %eax,0x0(%esi)
40d668:	00 00                	add    %al,(%eax)
40d66a:	00 00                	add    %al,(%eax)
40d66c:	2c 52                	sub    $0x52,%al
40d66e:	45                   	inc    %ebp
40d66f:	00 00                	add    %al,(%eax)
40d671:	0b 46 00             	or     0x0(%esi),%eax
40d674:	00 00                	add    %al,(%eax)
40d676:	00 00                	add    %al,(%eax)
40d678:	28 52 45             	sub    %dl,0x45(%edx)
40d67b:	00 d0                	add    %dl,%al
40d67d:	0b 46 00             	or     0x0(%esi),%eax
40d680:	00 00                	add    %al,(%eax)
40d682:	00 00                	add    %al,(%eax)
40d684:	24 52                	and    $0x52,%al
40d686:	45                   	inc    %ebp
40d687:	00 30                	add    %dh,(%eax)
40d689:	0a 46 00             	or     0x0(%esi),%al
40d68c:	00 00                	add    %al,(%eax)
40d68e:	00 00                	add    %al,(%eax)
40d690:	20 52 45             	and    %dl,0x45(%edx)
40d693:	00 ac 0b 46 00 00 00 	add    %ch,0x46(%ebx,%ecx,1)
40d69a:	00 00                	add    %al,(%eax)
40d69c:	1c 52                	sbb    $0x52,%al
40d69e:	45                   	inc    %ebp
40d69f:	00 64 0c 46          	add    %ah,0x46(%esp,%ecx,1)
40d6a3:	00 00                	add    %al,(%eax)
40d6a5:	00 00                	add    %al,(%eax)
40d6a7:	00 18                	add    %bl,(%eax)
40d6a9:	52                   	push   %edx
40d6aa:	45                   	inc    %ebp
40d6ab:	00 54 0c 46          	add    %dl,0x46(%esp,%ecx,1)
40d6af:	00 00                	add    %al,(%eax)
40d6b1:	00 00                	add    %al,(%eax)
40d6b3:	00 14 52             	add    %dl,(%edx,%edx,2)
40d6b6:	45                   	inc    %ebp
40d6b7:	00 e8                	add    %ch,%al
40d6b9:	0b 46 00             	or     0x0(%esi),%eax
40d6bc:	00 00                	add    %al,(%eax)
40d6be:	00 00                	add    %al,(%eax)
40d6c0:	10 52 45             	adc    %dl,0x45(%edx)
40d6c3:	00 e8                	add    %ch,%al
40d6c5:	0a 46 00             	or     0x0(%esi),%al
40d6c8:	00 00                	add    %al,(%eax)
40d6ca:	00 00                	add    %al,(%eax)
40d6cc:	0c 52                	or     $0x52,%al
40d6ce:	45                   	inc    %ebp
40d6cf:	00 9c 0a 46 00 00 00 	add    %bl,0x46(%edx,%ecx,1)
40d6d6:	00 00                	add    %al,(%eax)
40d6d8:	08 52 45             	or     %dl,0x45(%edx)
40d6db:	00 a8 09 46 00 00    	add    %ch,0x4609(%eax)
40d6e1:	00 00                	add    %al,(%eax)
40d6e3:	00 04 52             	add    %al,(%edx,%edx,2)
40d6e6:	45                   	inc    %ebp
40d6e7:	00 50 0c             	add    %dl,0xc(%eax)
40d6ea:	46                   	inc    %esi
40d6eb:	00 00                	add    %al,(%eax)
40d6ed:	00 00                	add    %al,(%eax)
40d6ef:	00 00                	add    %al,(%eax)
40d6f1:	52                   	push   %edx
40d6f2:	45                   	inc    %ebp
40d6f3:	00 7c 0b 46          	add    %bh,0x46(%ebx,%ecx,1)
40d6f7:	00 00                	add    %al,(%eax)
40d6f9:	00 00                	add    %al,(%eax)
40d6fb:	00 fc                	add    %bh,%ah
40d6fd:	51                   	push   %ecx
40d6fe:	45                   	inc    %ebp
40d6ff:	00 8c 0a 46 00 00 00 	add    %cl,0x46(%edx,%ecx,1)
40d706:	00 00                	add    %al,(%eax)
40d708:	f8                   	clc
40d709:	51                   	push   %ecx
40d70a:	45                   	inc    %ebp
40d70b:	00 5c 0b 46          	add    %bl,0x46(%ebx,%ecx,1)
40d70f:	00 00                	add    %al,(%eax)
40d711:	00 00                	add    %al,(%eax)
40d713:	00 f4                	add    %dh,%ah
40d715:	51                   	push   %ecx
40d716:	45                   	inc    %ebp
40d717:	00 c0                	add    %al,%al
40d719:	0b 46 00             	or     0x0(%esi),%eax
40d71c:	00 00                	add    %al,(%eax)
40d71e:	00 00                	add    %al,(%eax)
40d720:	f0 51                	lock push %ecx
40d722:	45                   	inc    %ebp
40d723:	00 6c 0b 46          	add    %ch,0x46(%ebx,%ecx,1)
40d727:	00 00                	add    %al,(%eax)
40d729:	00 00                	add    %al,(%eax)
40d72b:	00 ec                	add    %ch,%ah
40d72d:	51                   	push   %ecx
40d72e:	45                   	inc    %ebp
40d72f:	00 c0                	add    %al,%al
40d731:	0a 46 00             	or     0x0(%esi),%al
40d734:	00 00                	add    %al,(%eax)
40d736:	00 00                	add    %al,(%eax)
40d738:	e8 51 45 00 a4       	call   0xa4411c8e
40d73d:	09 46 00             	or     %eax,0x0(%esi)
40d740:	00 00                	add    %al,(%eax)
40d742:	00 00                	add    %al,(%eax)
40d744:	e4 51                	in     $0x51,%al
40d746:	45                   	inc    %ebp
40d747:	00 24 0b             	add    %ah,(%ebx,%ecx,1)
40d74a:	46                   	inc    %esi
40d74b:	00 00                	add    %al,(%eax)
40d74d:	00 00                	add    %al,(%eax)
40d74f:	00 e0                	add    %ah,%al
40d751:	51                   	push   %ecx
40d752:	45                   	inc    %ebp
40d753:	00 e4                	add    %ah,%ah
40d755:	0c 46                	or     $0x46,%al
40d757:	00 00                	add    %al,(%eax)
40d759:	00 00                	add    %al,(%eax)
40d75b:	00 dc                	add    %bl,%ah
40d75d:	51                   	push   %ecx
40d75e:	45                   	inc    %ebp
40d75f:	00 94 0c 46 00 00 00 	add    %dl,0x46(%esp,%ecx,1)
40d766:	00 00                	add    %al,(%eax)
40d768:	d8 51 45             	fcoms  0x45(%ecx)
40d76b:	00 a8 0b 46 00 00    	add    %ch,0x460b(%eax)
40d771:	00 00                	add    %al,(%eax)
40d773:	00 d4                	add    %dl,%ah
40d775:	51                   	push   %ecx
40d776:	45                   	inc    %ebp
40d777:	00 54 0a 46          	add    %dl,0x46(%edx,%ecx,1)
40d77b:	00 00                	add    %al,(%eax)
40d77d:	00 00                	add    %al,(%eax)
40d77f:	00 d0                	add    %dl,%al
40d781:	51                   	push   %ecx
40d782:	45                   	inc    %ebp
40d783:	00 b8 09 46 00 00    	add    %bh,0x4609(%eax)
40d789:	00 00                	add    %al,(%eax)
40d78b:	00 cc                	add    %cl,%ah
40d78d:	51                   	push   %ecx
40d78e:	45                   	inc    %ebp
40d78f:	00 88 0c 46 00 00    	add    %cl,0x460c(%eax)
40d795:	00 00                	add    %al,(%eax)
40d797:	00 c8                	add    %cl,%al
40d799:	51                   	push   %ecx
40d79a:	45                   	inc    %ebp
40d79b:	00 6c 0d 46          	add    %ch,0x46(%ebp,%ecx,1)
40d79f:	00 00                	add    %al,(%eax)
40d7a1:	00 00                	add    %al,(%eax)
40d7a3:	00 c4                	add    %al,%ah
40d7a5:	51                   	push   %ecx
40d7a6:	45                   	inc    %ebp
40d7a7:	00 f0                	add    %dh,%al
40d7a9:	09 46 00             	or     %eax,0x0(%esi)
40d7ac:	00 00                	add    %al,(%eax)
40d7ae:	00 00                	add    %al,(%eax)
40d7b0:	c0 51 45 00          	rclb   $0x0,0x45(%ecx)
40d7b4:	90                   	nop
40d7b5:	09 46 00             	or     %eax,0x0(%esi)
40d7b8:	00 00                	add    %al,(%eax)
40d7ba:	00 00                	add    %al,(%eax)
40d7bc:	bc 51 45 00 bc       	mov    $0xbc004551,%esp
40d7c1:	0c 46                	or     $0x46,%al
40d7c3:	00 00                	add    %al,(%eax)
40d7c5:	00 00                	add    %al,(%eax)
40d7c7:	00 b8 51 45 00 a4    	add    %bh,-0x5bffbaaf(%eax)
40d7cd:	0b 46 00             	or     0x0(%esi),%eax
40d7d0:	00 00                	add    %al,(%eax)
40d7d2:	00 00                	add    %al,(%eax)
40d7d4:	b4 51                	mov    $0x51,%ah
40d7d6:	45                   	inc    %ebp
40d7d7:	00 18                	add    %bl,(%eax)
40d7d9:	0d 46 00 00 00       	or     $0x46,%eax
40d7de:	00 00                	add    %al,(%eax)
40d7e0:	90                   	nop
40d7e1:	51                   	push   %ecx
40d7e2:	45                   	inc    %ebp
40d7e3:	00 10                	add    %dl,(%eax)
40d7e5:	0b 46 00             	or     0x0(%esi),%eax