41e746:	52                   	push   %edx
41e747:	50                   	push   %eax
41e748:	6a 02                	push   $0x2
41e74a:	ff d3                	call   *%ebx
41e74c:	83 c4 0c             	add    $0xc,%esp
41e74f:	66 3b fe             	cmp    %si,%di
41e752:	74 6d                	je     0x41e7c1
41e754:	39 35 90 05 42 00    	cmp    %esi,0x420590
41e75a:	75 10                	jne    0x41e76c
41e75c:	68 90 05 42 00       	push   $0x420590
41e761:	68 a8 1d 40 00       	push   $0x401da8
41e766:	ff 15 a8 10 40 00    	call   *0x4010a8
41e76c:	a1 10 00 42 00       	mov    0x420010,%eax
41e771:	8b 3d 90 05 42 00    	mov    0x420590,%edi
41e777:	3b c6                	cmp    %esi,%eax
41e779:	75 10                	jne    0x41e78b
41e77b:	68 10 00 42 00       	push   $0x420010
41e780:	68 2c 20 40 00       	push   $0x40202c
41e785:	ff 15 a8 10 40 00    	call   *0x4010a8
41e78b:	8b 0d 10 00 42 00    	mov    0x420010,%ecx
41e791:	8b 1f                	mov    (%edi),%ebx
41e793:	8d 55 d8             	lea    -0x28(%ebp),%edx
41e796:	51                   	push   %ecx
41e797:	52                   	push   %edx
41e798:	ff 15 50 10 40 00    	call   *0x401050
41e79e:	50                   	push   %eax
41e79f:	57                   	push   %edi
41e7a0:	ff 53 10             	call   *0x10(%ebx)
41e7a3:	3b c6                	cmp    %esi,%eax
41e7a5:	db e2                	fnclex
41e7a7:	7d 0f                	jge    0x41e7b8
41e7a9:	6a 10                	push   $0x10
41e7ab:	68 98 1d 40 00       	push   $0x401d98
41e7b0:	57                   	push   %edi
41e7b1:	50                   	push   %eax
41e7b2:	ff 15 38 10 40 00    	call   *0x401038
41e7b8:	8d 4d d8             	lea    -0x28(%ebp),%ecx
41e7bb:	ff 15 00 11 40 00    	call   *0x401100
41e7c1:	e8 2a f9 ff ff       	call   0x41e0f0
41e7c6:	66 3d ff ff          	cmp    $0xffff,%ax
41e7ca:	75 05                	jne    0x41e7d1
41e7cc:	e8 cf fc ff ff       	call   0x41e4a0
41e7d1:	39 35 90 05 42 00    	cmp    %esi,0x420590
41e7d7:	75 10                	jne    0x41e7e9
41e7d9:	68 90 05 42 00       	push   $0x420590
41e7de:	68 a8 1d 40 00       	push   $0x401da8
41e7e3:	ff 15 a8 10 40 00    	call   *0x4010a8
41e7e9:	8b 3d 90 05 42 00    	mov    0x420590,%edi
41e7ef:	8d 4d d8             	lea    -0x28(%ebp),%ecx
41e7f2:	51                   	push   %ecx
41e7f3:	57                   	push   %edi
41e7f4:	8b 07                	mov    (%edi),%eax
41e7f6:	ff 50 14             	call   *0x14(%eax)
41e7f9:	3b c6                	cmp    %esi,%eax
41e7fb:	db e2                	fnclex
41e7fd:	7d 0f                	jge    0x41e80e
41e7ff:	6a 14                	push   $0x14
41e801:	68 98 1d 40 00       	push   $0x401d98
41e806:	57                   	push   %edi
41e807:	50                   	push   %eax
41e808:	ff 15 38 10 40 00    	call   *0x401038
41e80e:	8b 45 d8             	mov    -0x28(%ebp),%eax
41e811:	8d 8d 50 ff ff ff    	lea    -0xb0(%ebp),%ecx
41e817:	51                   	push   %ecx
41e818:	50                   	push   %eax
41e819:	8b 10                	mov    (%eax),%edx
41e81b:	8b f8                	mov    %eax,%edi
41e81d:	ff 92 28 01 00 00    	call   *0x128(%edx)
41e823:	3b c6                	cmp    %esi,%eax
41e825:	db e2                	fnclex
41e827:	7d 12                	jge    0x41e83b
41e829:	68 28 01 00 00       	push   $0x128
41e82e:	68 b8 1d 40 00       	push   $0x401db8
41e833:	57                   	push   %edi
41e834:	50                   	push   %eax
41e835:	ff 15 38 10 40 00    	call   *0x401038
41e83b:	8b bd 50 ff ff ff    	mov    -0xb0(%ebp),%edi
41e841:	33 d2                	xor    %edx,%edx
41e843:	3b fe                	cmp    %esi,%edi
41e845:	8d 4d d8             	lea    -0x28(%ebp),%ecx
41e848:	0f 94 c2             	sete   %dl
41e84b:	f7 da                	neg    %edx
41e84d:	8b fa                	mov    %edx,%edi
41e84f:	ff 15 00 11 40 00    	call   *0x401100
41e855:	66 3b fe             	cmp    %si,%di
41e858:	0f 85 6f 02 00 00    	jne    0x41eacd
41e85e:	39 35 10 00 42 00    	cmp    %esi,0x420010
41e864:	75 10                	jne    0x41e876
41e866:	68 10 00 42 00       	push   $0x420010
41e86b:	68 2c 20 40 00       	push   $0x40202c
41e870:	ff 15 a8 10 40 00    	call   *0x4010a8
41e876:	83 ec 10             	sub    $0x10,%esp
41e879:	b9 0a 00 00 00       	mov    $0xa,%ecx
41e87e:	8b dc                	mov    %esp,%ebx
41e880:	89 8d 78 ff ff ff    	mov    %ecx,-0x88(%ebp)
41e886:	89 4d 88             	mov    %ecx,-0x78(%ebp)
41e889:	b8 04 00 02 80       	mov    $0x80020004,%eax
41e88e:	89 0b                	mov    %ecx,(%ebx)
41e890:	8b 8d 7c ff ff ff    	mov    -0x84(%ebp),%ecx
41e896:	89 45 80             	mov    %eax,-0x80(%ebp)
41e899:	8b d0                	mov    %eax,%edx
41e89b:	89 4b 04             	mov    %ecx,0x4(%ebx)
41e89e:	83 ec 10             	sub    $0x10,%esp
41e8a1:	8b 35 10 00 42 00    	mov    0x420010,%esi
41e8a7:	8b cc                	mov    %esp,%ecx
41e8a9:	89 43 08             	mov    %eax,0x8(%ebx)
41e8ac:	8b 45 84             	mov    -0x7c(%ebp),%eax
41e8af:	89 55 90             	mov    %edx,-0x70(%ebp)
41e8b2:	8b 3e                	mov    (%esi),%edi
41e8b4:	89 43 0c             	mov    %eax,0xc(%ebx)
41e8b7:	8b 45 88             	mov    -0x78(%ebp),%eax
41e8ba:	89 01                	mov    %eax,(%ecx)
41e8bc:	8b 45 8c             	mov    -0x74(%ebp),%eax
41e8bf:	56                   	push   %esi
41e8c0:	89 41 04             	mov    %eax,0x4(%ecx)
41e8c3:	89 51 08             	mov    %edx,0x8(%ecx)
41e8c6:	8b 55 94             	mov    -0x6c(%ebp),%edx
41e8c9:	89 51 0c             	mov    %edx,0xc(%ecx)
41e8cc:	ff 97 b0 02 00 00    	call   *0x2b0(%edi)
41e8d2:	85 c0                	test   %eax,%eax
41e8d4:	db e2                	fnclex
41e8d6:	7d 16                	jge    0x41e8ee
41e8d8:	8b 3d 38 10 40 00    	mov    0x401038,%edi
41e8de:	68 b0 02 00 00       	push   $0x2b0
41e8e3:	68 9c 1a 40 00       	push   $0x401a9c
41e8e8:	56                   	push   %esi
41e8e9:	50                   	push   %eax
41e8ea:	ff d7                	call   *%edi
41e8ec:	eb 06                	jmp    0x41e8f4
41e8ee:	8b 3d 38 10 40 00    	mov    0x401038,%edi
41e8f4:	a1 10 00 42 00       	mov    0x420010,%eax
41e8f9:	85 c0                	test   %eax,%eax
41e8fb:	75 14                	jne    0x41e911
41e8fd:	8b 1d a8 10 40 00    	mov    0x4010a8,%ebx
41e903:	68 10 00 42 00       	push   $0x420010
41e908:	68 2c 20 40 00       	push   $0x40202c
41e90d:	ff d3                	call   *%ebx
41e90f:	eb 06                	jmp    0x41e917
41e911:	8b 1d a8 10 40 00    	mov    0x4010a8,%ebx
41e917:	8b 35 10 00 42 00    	mov    0x420010,%esi
41e91d:	56                   	push   %esi
41e91e:	8b 06                	mov    (%esi),%eax
41e920:	ff 90 b4 02 00 00    	call   *0x2b4(%eax)
41e926:	85 c0                	test   %eax,%eax
41e928:	db e2                	fnclex
41e92a:	7d 0e                	jge    0x41e93a
41e92c:	68 b4 02 00 00       	push   $0x2b4
41e931:	68 9c 1a 40 00       	push   $0x401a9c
41e936:	56                   	push   %esi
41e937:	50                   	push   %eax
41e938:	ff d7                	call   *%edi
41e93a:	a1 10 00 42 00       	mov    0x420010,%eax
41e93f:	85 c0                	test   %eax,%eax
41e941:	75 0c                	jne    0x41e94f
41e943:	68 10 00 42 00       	push   $0x420010
41e948:	68 2c 20 40 00       	push   $0x40202c
41e94d:	ff d3                	call   *%ebx
41e94f:	8b 35 10 00 42 00    	mov    0x420010,%esi
41e955:	8d 95 50 ff ff ff    	lea    -0xb0(%ebp),%edx
41e95b:	52                   	push   %edx
41e95c:	56                   	push   %esi
41e95d:	8b 0e                	mov    (%esi),%ecx
41e95f:	ff 91 e0 00 00 00    	call   *0xe0(%ecx)
41e965:	85 c0                	test   %eax,%eax
41e967:	db e2                	fnclex
41e969:	7d 0e                	jge    0x41e979
41e96b:	68 e0 00 00 00       	push   $0xe0
41e970:	68 9c 1a 40 00       	push   $0x401a9c
41e975:	56                   	push   %esi
41e976:	50                   	push   %eax
41e977:	ff d7                	call   *%edi
41e979:	a1 10 00 42 00       	mov    0x420010,%eax
41e97e:	85 c0                	test   %eax,%eax
41e980:	75 0c                	jne    0x41e98e
41e982:	68 10 00 42 00       	push   $0x420010
41e987:	68 2c 20 40 00       	push   $0x40202c
41e98c:	ff d3                	call   *%ebx
41e98e:	8b 35 10 00 42 00    	mov    0x420010,%esi
41e994:	8d 4d dc             	lea    -0x24(%ebp),%ecx
41e997:	51                   	push   %ecx
41e998:	56                   	push   %esi
41e999:	8b 06                	mov    (%esi),%eax
41e99b:	ff 50 50             	call   *0x50(%eax)
41e99e:	85 c0                	test   %eax,%eax
41e9a0:	db e2                	fnclex
41e9a2:	7d 0b                	jge    0x41e9af
41e9a4:	6a 50                	push   $0x50
41e9a6:	68 9c 1a 40 00       	push   $0x401a9c
41e9ab:	56                   	push   %esi
41e9ac:	50                   	push   %eax
41e9ad:	ff d7                	call   *%edi
41e9af:	8b 55 dc             	mov    -0x24(%ebp),%edx
41e9b2:	d9 85 50 ff ff ff    	flds   -0xb0(%ebp)
41e9b8:	52                   	push   %edx
41e9b9:	ff 15 dc 10 40 00    	call   *0x4010dc
41e9bf:	50                   	push   %eax
41e9c0:	e8 bb 03 00 00       	call   0x41ed80
41e9c5:	8d 4d dc             	lea    -0x24(%ebp),%ecx
41e9c8:	a3 24 00 42 00       	mov    %eax,0x420024
41e9cd:	ff 15 fc 10 40 00    	call   *0x4010fc
41e9d3:	a1 10 00 42 00       	mov    0x420010,%eax
41e9d8:	85 c0                	test   %eax,%eax
41e9da:	75 0c                	jne    0x41e9e8
41e9dc:	68 10 00 42 00       	push   $0x420010
41e9e1:	68 2c 20 40 00       	push   $0x40202c
41e9e6:	ff d3                	call   *%ebx
41e9e8:	8b 35 10 00 42 00    	mov    0x420010,%esi
41e9ee:	8d 8d 50 ff ff ff    	lea    -0xb0(%ebp),%ecx
41e9f4:	51                   	push   %ecx
41e9f5:	56                   	push   %esi
41e9f6:	8b 06                	mov    (%esi),%eax
41e9f8:	ff 90 e0 00 00 00    	call   *0xe0(%eax)
41e9fe:	85 c0                	test   %eax,%eax
41ea00:	db e2                	fnclex
41ea02:	7d 0e                	jge    0x41ea12
41ea04:	68 e0 00 00 00       	push   $0xe0
41ea09:	68 9c 1a 40 00       	push   $0x401a9c
41ea0e:	56                   	push   %esi
41ea0f:	50                   	push   %eax
41ea10:	ff d7                	call   *%edi
41ea12:	a1 10 00 42 00       	mov    0x420010,%eax
41ea17:	85 c0                	test   %eax,%eax
41ea19:	75 0c                	jne    0x41ea27
41ea1b:	68 10 00 42 00       	push   $0x420010
41ea20:	68 2c 20 40 00       	push   $0x40202c
41ea25:	ff d3                	call   *%ebx
41ea27:	8b 35 10 00 42 00    	mov    0x420010,%esi
41ea2d:	8d 45 dc             	lea    -0x24(%ebp),%eax
41ea30:	50                   	push   %eax
41ea31:	56                   	push   %esi
41ea32:	8b 16                	mov    (%esi),%edx
41ea34:	ff 52 50             	call   *0x50(%edx)
41ea37:	85 c0                	test   %eax,%eax
41ea39:	db e2                	fnclex
41ea3b:	7d 0b                	jge    0x41ea48
41ea3d:	6a 50                	push   $0x50
41ea3f:	68 9c 1a 40 00       	push   $0x401a9c
41ea44:	56                   	push   %esi
41ea45:	50                   	push   %eax
41ea46:	ff d7                	call   *%edi
41ea48:	8b 4d dc             	mov    -0x24(%ebp),%ecx
41ea4b:	d9 85 50 ff ff ff    	flds   -0xb0(%ebp)
41ea51:	51                   	push   %ecx
41ea52:	ff 15 dc 10 40 00    	call   *0x4010dc
41ea58:	50                   	push   %eax
41ea59:	e8 d2 00 00 00       	call   0x41eb30
41ea5e:	8d 4d dc             	lea    -0x24(%ebp),%ecx
41ea61:	a3 24 00 42 00       	mov    %eax,0x420024
41ea66:	ff 15 fc 10 40 00    	call   *0x4010fc
41ea6c:	8d 55 ec             	lea    -0x14(%ebp),%edx
41ea6f:	8d 45 c8             	lea    -0x38(%ebp),%eax
41ea72:	89 55 90             	mov    %edx,-0x70(%ebp)
41ea75:	50                   	push   %eax
41ea76:	8d 4d 88             	lea    -0x78(%ebp),%ecx
41ea79:	6a 01                	push   $0x1
41ea7b:	8d 55 b8             	lea    -0x48(%ebp),%edx
41ea7e:	51                   	push   %ecx
41ea7f:	52                   	push   %edx
41ea80:	b8 d7 c7 40 00       	mov    $0x40c7d7,%eax
41ea85:	ff e0                	jmp    *%eax
41ea87:	64 64 64 c7 45 d0 3c 	fs fs movl $0x3c,%fs:-0x30(%ebp)
41ea8e:	00 00 00
41ea91:	c7 45 c8 02 00 00 00 	movl   $0x2,-0x38(%ebp)
41ea98:	c7 45 88 08 40 00 00 	movl   $0x4008,-0x78(%ebp)
41ea9f:	ff 15 60 10 40 00    	call   *0x401060
41eaa5:	8d 45 b8             	lea    -0x48(%ebp),%eax
41eaa8:	50                   	push   %eax
41eaa9:	ff 15 14 10 40 00    	call   *0x401014
41eaaf:	8b d0                	mov    %eax,%edx
41eab1:	8d 4d e0             	lea    -0x20(%ebp),%ecx
41eab4:	ff 15 e8 10 40 00    	call   *0x4010e8
41eaba:	8d 4d b8             	lea    -0x48(%ebp),%ecx
41eabd:	8d 55 c8             	lea    -0x38(%ebp),%edx
41eac0:	51                   	push   %ecx
41eac1:	52                   	push   %edx
41eac2:	6a 02                	push   $0x2
41eac4:	ff 15 20 10 40 00    	call   *0x401020
41eaca:	83 c4 0c             	add    $0xc,%esp
41eacd:	9b                   	fwait
41eace:	68 14 eb 41 00       	push   $0x41eb14
41ead3:	eb 2e                	jmp    0x41eb03
41ead5:	8d 4d dc             	lea    -0x24(%ebp),%ecx
41ead8:	ff 15 fc 10 40 00    	call   *0x4010fc
41eade:	8d 4d d8             	lea    -0x28(%ebp),%ecx
41eae1:	ff 15 00 11 40 00    	call   *0x401100
41eae7:	8d 45 98             	lea    -0x68(%ebp),%eax
41eaea:	8d 4d a8             	lea    -0x58(%ebp),%ecx
41eaed:	50                   	push   %eax
41eaee:	8d 55 b8             	lea    -0x48(%ebp),%edx
41eaf1:	51                   	push   %ecx
41eaf2:	8d 45 c8             	lea    -0x38(%ebp),%eax
41eaf5:	52                   	push   %edx
41eaf6:	50                   	push   %eax
41eaf7:	6a 04                	push   $0x4
41eaf9:	ff 15 20 10 40 00    	call   *0x401020
41eaff:	83 c4 14             	add    $0x14,%esp
41eb02:	c3                   	ret
41eb03:	8b 35 fc 10 40 00    	mov    0x4010fc,%esi
41eb09:	8d 4d ec             	lea    -0x14(%ebp),%ecx
41eb0c:	ff d6                	call   *%esi
41eb0e:	8d 4d e0             	lea    -0x20(%ebp),%ecx
41eb11:	ff d6                	call   *%esi
41eb13:	c3                   	ret
41eb14:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41eb17:	5f                   	pop    %edi
41eb18:	5e                   	pop    %esi
41eb19:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41eb20:	5b                   	pop    %ebx
41eb21:	8b e5                	mov    %ebp,%esp
41eb23:	5d                   	pop    %ebp
41eb24:	c3                   	ret
41eb25:	90                   	nop
41eb26:	90                   	nop
41eb27:	90                   	nop
41eb28:	90                   	nop
41eb29:	90                   	nop
41eb2a:	90                   	nop
41eb2b:	90                   	nop
41eb2c:	90                   	nop
41eb2d:	90                   	nop
41eb2e:	90                   	nop
41eb2f:	90                   	nop
41eb30:	55                   	push   %ebp
41eb31:	8b ec                	mov    %esp,%ebp
41eb33:	83 ec 08             	sub    $0x8,%esp
41eb36:	68 d6 11 40 00       	push   $0x4011d6
41eb3b:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
41eb41:	50                   	push   %eax
41eb42:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
41eb49:	81 ec a0 00 00 00    	sub    $0xa0,%esp
41eb4f:	53                   	push   %ebx
41eb50:	56                   	push   %esi
41eb51:	57                   	push   %edi
41eb52:	89 65 f8             	mov    %esp,-0x8(%ebp)
41eb55:	c7 45 fc b0 11 40 00 	movl   $0x4011b0,-0x4(%ebp)
41eb5c:	8b 55 0c             	mov    0xc(%ebp),%edx
41eb5f:	33 f6                	xor    %esi,%esi
41eb61:	8d 4d ec             	lea    -0x14(%ebp),%ecx
41eb64:	89 75 ec             	mov    %esi,-0x14(%ebp)
41eb67:	89 75 e8             	mov    %esi,-0x18(%ebp)
41eb6a:	89 75 e4             	mov    %esi,-0x1c(%ebp)
41eb6d:	89 75 e0             	mov    %esi,-0x20(%ebp)
41eb70:	89 75 dc             	mov    %esi,-0x24(%ebp)
41eb73:	89 75 cc             	mov    %esi,-0x34(%ebp)
41eb76:	89 75 bc             	mov    %esi,-0x44(%ebp)
41eb79:	89 75 ac             	mov    %esi,-0x54(%ebp)
41eb7c:	89 75 9c             	mov    %esi,-0x64(%ebp)
41eb7f:	89 b5 7c ff ff ff    	mov    %esi,-0x84(%ebp)
41eb85:	ff 15 b4 10 40 00    	call   *0x4010b4
41eb8b:	8d 45 cc             	lea    -0x34(%ebp),%eax