41a604:	68 30 39 40 00       	push   $0x403930
41a609:	e8 12 0c 00 00       	call   0x41b220
41a60e:	59                   	pop    %ecx
41a60f:	59                   	pop    %ecx
41a610:	c7 05 c8 89 43 00 02 	movl   $0x2,0x4389c8
41a617:	00 00 00
41a61a:	85 ff                	test   %edi,%edi
41a61c:	75 09                	jne    0x41a627
41a61e:	33 c0                	xor    %eax,%eax
41a620:	b9 c4 89 43 00       	mov    $0x4389c4,%ecx
41a625:	87 01                	xchg   %eax,(%ecx)
41a627:	83 3d d4 89 43 00 00 	cmpl   $0x0,0x4389d4
41a62e:	74 23                	je     0x41a653
41a630:	68 d4 89 43 00       	push   $0x4389d4
41a635:	e8 46 0a 00 00       	call   0x41b080
41a63a:	59                   	pop    %ecx
41a63b:	85 c0                	test   %eax,%eax
41a63d:	74 14                	je     0x41a653
41a63f:	53                   	push   %ebx
41a640:	6a 02                	push   $0x2
41a642:	53                   	push   %ebx
41a643:	8b 35 d4 89 43 00    	mov    0x4389d4,%esi
41a649:	8b ce                	mov    %esi,%ecx
41a64b:	ff 15 20 a5 43 00    	call   *0x43a520
41a651:	ff d6                	call   *%esi
41a653:	ff 35 50 86 43 00    	push   0x438650
41a659:	ff 35 4c 86 43 00    	push   0x43864c
41a65f:	ff 35 48 86 43 00    	push   0x438648
41a665:	e8 b5 b8 ff ff       	call   0x415f1f
41a66a:	83 c4 0c             	add    $0xc,%esp
41a66d:	a3 40 86 43 00       	mov    %eax,0x438640
41a672:	83 3d 58 86 43 00 00 	cmpl   $0x0,0x438658
41a679:	75 36                	jne    0x41a6b1
41a67b:	50                   	push   %eax
41a67c:	ff 15 28 a4 43 00    	call   *0x43a428
41a682:	8b 4d ec             	mov    -0x14(%ebp),%ecx
41a685:	8b 01                	mov    (%ecx),%eax
41a687:	8b 00                	mov    (%eax),%eax
41a689:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41a68c:	51                   	push   %ecx
41a68d:	50                   	push   %eax
41a68e:	e8 cb 08 00 00       	call   0x41af5e
41a693:	59                   	pop    %ecx
41a694:	59                   	pop    %ecx
41a695:	c3                   	ret
41a696:	8b 65 e8             	mov    -0x18(%ebp),%esp
41a699:	8b 45 e4             	mov    -0x1c(%ebp),%eax
41a69c:	a3 40 86 43 00       	mov    %eax,0x438640
41a6a1:	83 3d 58 86 43 00 00 	cmpl   $0x0,0x438658
41a6a8:	75 07                	jne    0x41a6b1
41a6aa:	50                   	push   %eax
41a6ab:	ff 15 2c a4 43 00    	call   *0x43a42c
41a6b1:	83 3d 44 86 43 00 00 	cmpl   $0x0,0x438644
41a6b8:	75 0b                	jne    0x41a6c5
41a6ba:	ff 15 40 a4 43 00    	call   *0x43a440
41a6c0:	a1 40 86 43 00       	mov    0x438640,%eax
41a6c5:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
41a6cc:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41a6cf:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41a6d6:	59                   	pop    %ecx
41a6d7:	5f                   	pop    %edi
41a6d8:	5e                   	pop    %esi
41a6d9:	5b                   	pop    %ebx
41a6da:	c9                   	leave
41a6db:	c3                   	ret
41a6dc:	8b ff                	mov    %edi,%edi
41a6de:	55                   	push   %ebp
41a6df:	8b ec                	mov    %esp,%ebp
41a6e1:	56                   	push   %esi
41a6e2:	8b 75 08             	mov    0x8(%ebp),%esi
41a6e5:	33 c0                	xor    %eax,%eax
41a6e7:	3b 75 0c             	cmp    0xc(%ebp),%esi
41a6ea:	73 1e                	jae    0x41a70a
41a6ec:	57                   	push   %edi
41a6ed:	85 c0                	test   %eax,%eax
41a6ef:	75 18                	jne    0x41a709
41a6f1:	8b 3e                	mov    (%esi),%edi
41a6f3:	85 ff                	test   %edi,%edi
41a6f5:	74 0a                	je     0x41a701
41a6f7:	8b cf                	mov    %edi,%ecx
41a6f9:	ff 15 20 a5 43 00    	call   *0x43a520
41a6ff:	ff d7                	call   *%edi
41a701:	83 c6 04             	add    $0x4,%esi
41a704:	3b 75 0c             	cmp    0xc(%ebp),%esi
41a707:	72 e4                	jb     0x41a6ed
41a709:	5f                   	pop    %edi
41a70a:	5e                   	pop    %esi
41a70b:	5d                   	pop    %ebp
41a70c:	c3                   	ret
41a70d:	b8 4d 5a 00 00       	mov    $0x5a4d,%eax
41a712:	66 39 05 00 00 40 00 	cmp    %ax,0x400000
41a719:	75 55                	jne    0x41a770
41a71b:	8b 0d 3c 00 40 00    	mov    0x40003c,%ecx
41a721:	81 b9 00 00 40 00 50 	cmpl   $0x4550,0x400000(%ecx)
41a728:	45 00 00
41a72b:	75 43                	jne    0x41a770
41a72d:	0f b7 81 18 00 40 00 	movzwl 0x400018(%ecx),%eax
41a734:	ba 0b 01 00 00       	mov    $0x10b,%edx
41a739:	66 3b c2             	cmp    %dx,%ax
41a73c:	74 1f                	je     0x41a75d
41a73e:	ba 0b 02 00 00       	mov    $0x20b,%edx
41a743:	66 3b c2             	cmp    %dx,%ax
41a746:	75 28                	jne    0x41a770
41a748:	83 b9 84 00 40 00 0e 	cmpl   $0xe,0x400084(%ecx)
41a74f:	76 1f                	jbe    0x41a770
41a751:	33 c0                	xor    %eax,%eax
41a753:	39 81 f8 00 40 00    	cmp    %eax,0x4000f8(%ecx)
41a759:	0f 95 c0             	setne  %al
41a75c:	c3                   	ret
41a75d:	83 b9 74 00 40 00 0e 	cmpl   $0xe,0x400074(%ecx)
41a764:	76 0a                	jbe    0x41a770
41a766:	33 c0                	xor    %eax,%eax
41a768:	39 81 e8 00 40 00    	cmp    %eax,0x4000e8(%ecx)
41a76e:	eb e9                	jmp    0x41a759
41a770:	33 c0                	xor    %eax,%eax
41a772:	c3                   	ret
41a773:	cc                   	int3
41a774:	cc                   	int3
41a775:	cc                   	int3
41a776:	cc                   	int3
41a777:	cc                   	int3
41a778:	cc                   	int3
41a779:	cc                   	int3
41a77a:	cc                   	int3
41a77b:	cc                   	int3
41a77c:	cc                   	int3
41a77d:	cc                   	int3
41a77e:	cc                   	int3
41a77f:	cc                   	int3
41a780:	e8 f0 09 00 00       	call   0x41b175
41a785:	e9 d9 fd ff ff       	jmp    0x41a563
41a78a:	ff 25 30 a4 43 00    	jmp    *0x43a430
41a790:	8b ff                	mov    %edi,%edi
41a792:	55                   	push   %ebp
41a793:	8b ec                	mov    %esp,%ebp
41a795:	ff 75 14             	push   0x14(%ebp)
41a798:	ff 75 10             	push   0x10(%ebp)
41a79b:	ff 75 0c             	push   0xc(%ebp)
41a79e:	ff 75 08             	push   0x8(%ebp)
41a7a1:	68 c0 a7 41 00       	push   $0x41a7c0
41a7a6:	68 08 85 43 00       	push   $0x438508
41a7ab:	e8 d1 0a 00 00       	call   0x41b281
41a7b0:	83 c4 18             	add    $0x18,%esp
41a7b3:	5d                   	pop    %ebp
41a7b4:	c3                   	ret
41a7b5:	cc                   	int3
41a7b6:	cc                   	int3
41a7b7:	cc                   	int3
41a7b8:	cc                   	int3
41a7b9:	cc                   	int3
41a7ba:	cc                   	int3
41a7bb:	cc                   	int3
41a7bc:	cc                   	int3
41a7bd:	cc                   	int3
41a7be:	cc                   	int3
41a7bf:	cc                   	int3
41a7c0:	3b 0d 08 85 43 00    	cmp    0x438508,%ecx
41a7c6:	75 03                	jne    0x41a7cb
41a7c8:	c2 00 00             	ret    $0x0
41a7cb:	e9 e6 00 00 00       	jmp    0x41a8b6
41a7d0:	8b ff                	mov    %edi,%edi
41a7d2:	55                   	push   %ebp
41a7d3:	8b ec                	mov    %esp,%ebp
41a7d5:	56                   	push   %esi
41a7d6:	be 60 86 43 00       	mov    $0x438660,%esi
41a7db:	56                   	push   %esi
41a7dc:	ff 15 88 a2 43 00    	call   *0x43a288
41a7e2:	8b 0d 00 85 43 00    	mov    0x438500,%ecx
41a7e8:	8b 45 08             	mov    0x8(%ebp),%eax
41a7eb:	41                   	inc    %ecx
41a7ec:	89 0d 00 85 43 00    	mov    %ecx,0x438500
41a7f2:	56                   	push   %esi
41a7f3:	89 08                	mov    %ecx,(%eax)
41a7f5:	64 a1 2c 00 00 00    	mov    %fs:0x2c,%eax
41a7fb:	8b 0d 94 89 43 00    	mov    0x438994,%ecx
41a801:	8b 0c 88             	mov    (%eax,%ecx,4),%ecx
41a804:	a1 00 85 43 00       	mov    0x438500,%eax
41a809:	89 81 04 00 00 00    	mov    %eax,0x4(%ecx)
41a80f:	ff 15 a0 a2 43 00    	call   *0x43a2a0
41a815:	68 64 86 43 00       	push   $0x438664
41a81a:	ff 15 f0 a2 43 00    	call   *0x43a2f0
41a820:	5e                   	pop    %esi
41a821:	5d                   	pop    %ebp
41a822:	c3                   	ret
41a823:	8b ff                	mov    %edi,%edi
41a825:	55                   	push   %ebp
41a826:	8b ec                	mov    %esp,%ebp
41a828:	56                   	push   %esi
41a829:	57                   	push   %edi
41a82a:	bf 60 86 43 00       	mov    $0x438660,%edi
41a82f:	57                   	push   %edi
41a830:	ff 15 88 a2 43 00    	call   *0x43a288
41a836:	8b 75 08             	mov    0x8(%ebp),%esi
41a839:	83 3e 00             	cmpl   $0x0,(%esi)
41a83c:	75 0f                	jne    0x41a84d
41a83e:	83 0e ff             	orl    $0xffffffff,(%esi)
41a841:	eb 29                	jmp    0x41a86c
41a843:	6a 00                	push   $0x0
41a845:	e8 2d 00 00 00       	call   0x41a877
41a84a:	59                   	pop    %ecx
41a84b:	eb ec                	jmp    0x41a839
41a84d:	83 3e ff             	cmpl   $0xffffffff,(%esi)
41a850:	74 f1                	je     0x41a843
41a852:	64 a1 2c 00 00 00    	mov    %fs:0x2c,%eax
41a858:	8b 0d 94 89 43 00    	mov    0x438994,%ecx
41a85e:	8b 0c 88             	mov    (%eax,%ecx,4),%ecx
41a861:	a1 00 85 43 00       	mov    0x438500,%eax
41a866:	89 81 04 00 00 00    	mov    %eax,0x4(%ecx)
41a86c:	57                   	push   %edi
41a86d:	ff 15 a0 a2 43 00    	call   *0x43a2a0
41a873:	5f                   	pop    %edi
41a874:	5e                   	pop    %esi
41a875:	5d                   	pop    %ebp
41a876:	c3                   	ret
41a877:	6a 00                	push   $0x0
41a879:	6a ff                	push   $0xffffffff
41a87b:	68 60 86 43 00       	push   $0x438660
41a880:	68 64 86 43 00       	push   $0x438664
41a885:	ff 15 f4 a2 43 00    	call   *0x43a2f4
41a88b:	c3                   	ret
41a88c:	8b ff                	mov    %edi,%edi
41a88e:	55                   	push   %ebp
41a88f:	8b ec                	mov    %esp,%ebp
41a891:	6a 00                	push   $0x0
41a893:	ff 15 b0 a0 43 00    	call   *0x43a0b0
41a899:	ff 75 08             	push   0x8(%ebp)
41a89c:	ff 15 b8 a0 43 00    	call   *0x43a0b8
41a8a2:	68 09 04 00 c0       	push   $0xc0000409
41a8a7:	ff 15 e8 a1 43 00    	call   *0x43a1e8
41a8ad:	50                   	push   %eax
41a8ae:	ff 15 fc a1 43 00    	call   *0x43a1fc
41a8b4:	5d                   	pop    %ebp
41a8b5:	c3                   	ret
41a8b6:	8b ff                	mov    %edi,%edi
41a8b8:	55                   	push   %ebp
41a8b9:	8b ec                	mov    %esp,%ebp
41a8bb:	81 ec 24 03 00 00    	sub    $0x324,%esp
41a8c1:	a3 68 87 43 00       	mov    %eax,0x438768
41a8c6:	89 0d 64 87 43 00    	mov    %ecx,0x438764
41a8cc:	89 15 60 87 43 00    	mov    %edx,0x438760
41a8d2:	89 1d 5c 87 43 00    	mov    %ebx,0x43875c
41a8d8:	89 35 58 87 43 00    	mov    %esi,0x438758
41a8de:	89 3d 54 87 43 00    	mov    %edi,0x438754
41a8e4:	66 8c 15 80 87 43 00 	data16 mov %ss,0x438780
41a8eb:	66 8c 0d 74 87 43 00 	data16 mov %cs,0x438774
41a8f2:	66 8c 1d 50 87 43 00 	data16 mov %ds,0x438750
41a8f9:	66 8c 05 4c 87 43 00 	data16 mov %es,0x43874c
41a900:	66 8c 25 48 87 43 00 	data16 mov %fs,0x438748
41a907:	66 8c 2d 44 87 43 00 	data16 mov %gs,0x438744
41a90e:	9c                   	pushf
41a90f:	8f 05 78 87 43 00    	pop    0x438778
41a915:	8b 45 00             	mov    0x0(%ebp),%eax
41a918:	a3 6c 87 43 00       	mov    %eax,0x43876c
41a91d:	8b 45 04             	mov    0x4(%ebp),%eax
41a920:	a3 70 87 43 00       	mov    %eax,0x438770
41a925:	8d 45 08             	lea    0x8(%ebp),%eax
41a928:	a3 7c 87 43 00       	mov    %eax,0x43877c
41a92d:	8b 85 dc fc ff ff    	mov    -0x324(%ebp),%eax
41a933:	c7 05 b8 86 43 00 01 	movl   $0x10001,0x4386b8
41a93a:	00 01 00
41a93d:	a1 70 87 43 00       	mov    0x438770,%eax
41a942:	a3 74 86 43 00       	mov    %eax,0x438674
41a947:	c7 05 68 86 43 00 09 	movl   $0xc0000409,0x438668
41a94e:	04 00 c0
41a951:	c7 05 6c 86 43 00 01 	movl   $0x1,0x43866c
41a958:	00 00 00
41a95b:	c7 05 78 86 43 00 03 	movl   $0x3,0x438678
41a962:	00 00 00
41a965:	6a 04                	push   $0x4
41a967:	58                   	pop    %eax
41a968:	6b c0 00             	imul   $0x0,%eax,%eax
41a96b:	c7 80 7c 86 43 00 02 	movl   $0x2,0x43867c(%eax)
41a972:	00 00 00
41a975:	6a 04                	push   $0x4
41a977:	58                   	pop    %eax
41a978:	c1 e0 00             	shl    $0x0,%eax
41a97b:	8b 0d 08 85 43 00    	mov    0x438508,%ecx
41a981:	89 88 7c 86 43 00    	mov    %ecx,0x43867c(%eax)
41a987:	6a 04                	push   $0x4
41a989:	58                   	pop    %eax
41a98a:	d1 e0                	shl    $1,%eax
41a98c:	8b 0d 0c 85 43 00    	mov    0x43850c,%ecx
41a992:	89 88 7c 86 43 00    	mov    %ecx,0x43867c(%eax)
41a998:	6a 04                	push   $0x4
41a99a:	58                   	pop    %eax
41a99b:	6b c0 00             	imul   $0x0,%eax,%eax
41a99e:	8b 0d 08 85 43 00    	mov    0x438508,%ecx
41a9a4:	89 4c 05 f8          	mov    %ecx,-0x8(%ebp,%eax,1)
41a9a8:	6a 04                	push   $0x4
41a9aa:	58                   	pop    %eax
41a9ab:	c1 e0 00             	shl    $0x0,%eax
41a9ae:	8b 0d 0c 85 43 00    	mov    0x43850c,%ecx
41a9b4:	89 4c 05 f8          	mov    %ecx,-0x8(%ebp,%eax,1)
41a9b8:	68 c8 17 40 00       	push   $0x4017c8
41a9bd:	e8 ca fe ff ff       	call   0x41a88c
41a9c2:	c9                   	leave
41a9c3:	c3                   	ret
41a9c4:	8b ff                	mov    %edi,%edi
41a9c6:	55                   	push   %ebp
41a9c7:	8b ec                	mov    %esp,%ebp
41a9c9:	a3 68 87 43 00       	mov    %eax,0x438768
41a9ce:	89 0d 64 87 43 00    	mov    %ecx,0x438764
41a9d4:	89 15 60 87 43 00    	mov    %edx,0x438760
41a9da:	89 1d 5c 87 43 00    	mov    %ebx,0x43875c
41a9e0:	89 35 58 87 43 00    	mov    %esi,0x438758
41a9e6:	89 3d 54 87 43 00    	mov    %edi,0x438754
41a9ec:	66 8c 15 80 87 43 00 	data16 mov %ss,0x438780
41a9f3:	66 8c 0d 74 87 43 00 	data16 mov %cs,0x438774
41a9fa:	66 8c 1d 50 87 43 00 	data16 mov %ds,0x438750
41aa01:	66 8c 05 4c 87 43 00 	data16 mov %es,0x43874c
41aa08:	66 8c 25 48 87 43 00 	data16 mov %fs,0x438748
41aa0f:	66 8c 2d 44 87 43 00 	data16 mov %gs,0x438744
41aa16:	9c                   	pushf
41aa17:	8f 05 78 87 43 00    	pop    0x438778
41aa1d:	c7 05 b8 86 43 00 01 	movl   $0x10001,0x4386b8
41aa24:	00 01 00
41aa27:	8b 45 04             	mov    0x4(%ebp),%eax
41aa2a:	a3 70 87 43 00       	mov    %eax,0x438770
41aa2f:	8d 45 04             	lea    0x4(%ebp),%eax
41aa32:	83 c0 04             	add    $0x4,%eax
41aa35:	a3 7c 87 43 00       	mov    %eax,0x43877c
41aa3a:	a1 70 87 43 00       	mov    0x438770,%eax
41aa3f:	a3 74 86 43 00       	mov    %eax,0x438674
41aa44:	c7 05 68 86 43 00 09 	movl   $0xc0000409,0x438668
41aa4b:	04 00 c0
41aa4e:	c7 05 6c 86 43 00 01 	movl   $0x1,0x43866c
41aa55:	00 00 00
41aa58:	c7 05 78 86 43 00 01 	movl   $0x1,0x438678
41aa5f:	00 00 00
41aa62:	6a 04                	push   $0x4
41aa64:	58                   	pop    %eax
41aa65:	6b c0 00             	imul   $0x0,%eax,%eax
41aa68:	c7 80 7c 86 43 00 08 	movl   $0x8,0x43867c(%eax)
41aa6f:	00 00 00
41aa72:	68 c8 17 40 00       	push   $0x4017c8
41aa77:	e8 10 fe ff ff       	call   0x41a88c
41aa7c:	5d                   	pop    %ebp
41aa7d:	c3                   	ret
41aa7e:	cc                   	int3
41aa7f:	cc                   	int3
41aa80:	8b ff                	mov    %edi,%edi
41aa82:	55                   	push   %ebp
41aa83:	8b ec                	mov    %esp,%ebp
41aa85:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41aa88:	85 c9                	test   %ecx,%ecx
41aa8a:	74 2a                	je     0x41aab6
41aa8c:	6a e0                	push   $0xffffffe0
41aa8e:	33 d2                	xor    %edx,%edx
41aa90:	58                   	pop    %eax
41aa91:	f7 f1                	div    %ecx