40982e:	8b 08                	mov    (%eax),%ecx
409830:	8b 40 04             	mov    0x4(%eax),%eax
409833:	50                   	push   %eax
409834:	89 45 14             	mov    %eax,0x14(%ebp)
409837:	8d 45 a0             	lea    -0x60(%ebp),%eax
40983a:	51                   	push   %ecx
40983b:	50                   	push   %eax
40983c:	53                   	push   %ebx
40983d:	89 4d 10             	mov    %ecx,0x10(%ebp)
409840:	e8 db f6 ff ff       	call   0x408f20
409845:	83 c4 30             	add    $0x30,%esp
409848:	33 ff                	xor    %edi,%edi
40984a:	eb 20                	jmp    0x40986c
40984c:	83 7d e8 08          	cmpl   $0x8,-0x18(%ebp)
409850:	8d 45 d4             	lea    -0x2c(%ebp),%eax
409853:	52                   	push   %edx
409854:	0f 43 45 d4          	cmovae -0x2c(%ebp),%eax
409858:	50                   	push   %eax
409859:	ff 75 14             	push   0x14(%ebp)
40985c:	8d 45 a0             	lea    -0x60(%ebp),%eax
40985f:	ff 75 10             	push   0x10(%ebp)
409862:	50                   	push   %eax
409863:	53                   	push   %ebx
409864:	e8 47 f7 ff ff       	call   0x408fb0
409869:	83 c4 18             	add    $0x18,%esp
40986c:	8b 75 b8             	mov    -0x48(%ebp),%esi
40986f:	8b 10                	mov    (%eax),%edx
409871:	8b 48 04             	mov    0x4(%eax),%ecx
409874:	8d 45 d4             	lea    -0x2c(%ebp),%eax
409877:	83 7d e8 08          	cmpl   $0x8,-0x18(%ebp)
40987b:	89 55 10             	mov    %edx,0x10(%ebp)
40987e:	0f 43 45 d4          	cmovae -0x2c(%ebp),%eax
409882:	29 75 b4             	sub    %esi,-0x4c(%ebp)
409885:	ff 75 b4             	push   -0x4c(%ebp)
409888:	89 4d 14             	mov    %ecx,0x14(%ebp)
40988b:	8d 04 70             	lea    (%eax,%esi,2),%eax
40988e:	50                   	push   %eax
40988f:	51                   	push   %ecx
409890:	52                   	push   %edx
409891:	8d 45 a0             	lea    -0x60(%ebp),%eax
409894:	50                   	push   %eax
409895:	53                   	push   %ebx
409896:	e8 15 f7 ff ff       	call   0x408fb0
40989b:	8b 55 9c             	mov    -0x64(%ebp),%edx
40989e:	8b 75 94             	mov    -0x6c(%ebp),%esi
4098a1:	57                   	push   %edi
4098a2:	8b 08                	mov    (%eax),%ecx
4098a4:	8b 40 04             	mov    0x4(%eax),%eax
4098a7:	ff 75 1c             	push   0x1c(%ebp)
4098aa:	89 4d 10             	mov    %ecx,0x10(%ebp)
4098ad:	50                   	push   %eax
4098ae:	51                   	push   %ecx
4098af:	56                   	push   %esi
4098b0:	53                   	push   %ebx
4098b1:	89 45 14             	mov    %eax,0x14(%ebp)
4098b4:	c7 42 20 00 00 00 00 	movl   $0x0,0x20(%edx)
4098bb:	c7 42 24 00 00 00 00 	movl   $0x0,0x24(%edx)
4098c2:	e8 59 f6 ff ff       	call   0x408f20
4098c7:	8b 4d d0             	mov    -0x30(%ebp),%ecx
4098ca:	83 c4 30             	add    $0x30,%esp
4098cd:	83 f9 10             	cmp    $0x10,%ecx
4098d0:	72 28                	jb     0x4098fa
4098d2:	8b 55 bc             	mov    -0x44(%ebp),%edx
4098d5:	41                   	inc    %ecx
4098d6:	8b c2                	mov    %edx,%eax
4098d8:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
4098de:	72 10                	jb     0x4098f0
4098e0:	8b 50 fc             	mov    -0x4(%eax),%edx
4098e3:	83 c1 23             	add    $0x23,%ecx
4098e6:	2b c2                	sub    %edx,%eax
4098e8:	83 c0 fc             	add    $0xfffffffc,%eax
4098eb:	83 f8 1f             	cmp    $0x1f,%eax
4098ee:	77 75                	ja     0x409965
4098f0:	51                   	push   %ecx
4098f1:	52                   	push   %edx
4098f2:	e8 c1 02 01 00       	call   0x419bb8
4098f7:	83 c4 08             	add    $0x8,%esp
4098fa:	8b 4d e8             	mov    -0x18(%ebp),%ecx
4098fd:	c7 45 cc 00 00 00 00 	movl   $0x0,-0x34(%ebp)
409904:	c7 45 d0 0f 00 00 00 	movl   $0xf,-0x30(%ebp)
40990b:	c6 45 bc 00          	movb   $0x0,-0x44(%ebp)
40990f:	83 f9 08             	cmp    $0x8,%ecx
409912:	72 2e                	jb     0x409942
409914:	8b 55 d4             	mov    -0x2c(%ebp),%edx
409917:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
40991e:	8b c2                	mov    %edx,%eax
409920:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
409926:	72 10                	jb     0x409938
409928:	8b 50 fc             	mov    -0x4(%eax),%edx
40992b:	83 c1 23             	add    $0x23,%ecx
40992e:	2b c2                	sub    %edx,%eax
409930:	83 c0 fc             	add    $0xfffffffc,%eax
409933:	83 f8 1f             	cmp    $0x1f,%eax
409936:	77 2d                	ja     0x409965
409938:	51                   	push   %ecx
409939:	52                   	push   %edx
40993a:	e8 79 02 01 00       	call   0x419bb8
40993f:	83 c4 08             	add    $0x8,%esp
409942:	8b c6                	mov    %esi,%eax
409944:	8b 4d f4             	mov    -0xc(%ebp),%ecx
409947:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40994e:	59                   	pop    %ecx
40994f:	5f                   	pop    %edi
409950:	5e                   	pop    %esi
409951:	5b                   	pop    %ebx
409952:	8b 4d f0             	mov    -0x10(%ebp),%ecx
409955:	33 cd                	xor    %ebp,%ecx
409957:	e8 4e 02 01 00       	call   0x419baa
40995c:	8b e5                	mov    %ebp,%esp
40995e:	5d                   	pop    %ebp
40995f:	c3                   	ret
409960:	e8 9b b6 ff ff       	call   0x405000
409965:	e8 29 60 01 00       	call   0x41f993
40996a:	cc                   	int3
40996b:	cc                   	int3
40996c:	cc                   	int3
40996d:	cc                   	int3
40996e:	cc                   	int3
40996f:	cc                   	int3
409970:	55                   	push   %ebp
409971:	8b ec                	mov    %esp,%ebp
409973:	8b 55 14             	mov    0x14(%ebp),%edx
409976:	56                   	push   %esi
409977:	8b 75 0c             	mov    0xc(%ebp),%esi
40997a:	c6 06 25             	movb   $0x25,(%esi)
40997d:	8d 46 01             	lea    0x1(%esi),%eax
409980:	f6 c2 20             	test   $0x20,%dl
409983:	74 04                	je     0x409989
409985:	c6 00 2b             	movb   $0x2b,(%eax)
409988:	40                   	inc    %eax
409989:	f6 c2 10             	test   $0x10,%dl
40998c:	74 04                	je     0x409992
40998e:	c6 00 23             	movb   $0x23,(%eax)
409991:	40                   	inc    %eax
409992:	8a 4d 10             	mov    0x10(%ebp),%cl
409995:	66 c7 00 2e 2a       	movw   $0x2a2e,(%eax)
40999a:	83 c0 02             	add    $0x2,%eax
40999d:	84 c9                	test   %cl,%cl
40999f:	74 03                	je     0x4099a4
4099a1:	88 08                	mov    %cl,(%eax)
4099a3:	40                   	inc    %eax
4099a4:	8b ca                	mov    %edx,%ecx
4099a6:	81 e1 00 30 00 00    	and    $0x3000,%ecx
4099ac:	f6 c2 04             	test   $0x4,%dl
4099af:	74 38                	je     0x4099e9
4099b1:	81 f9 00 20 00 00    	cmp    $0x2000,%ecx
4099b7:	74 38                	je     0x4099f1
4099b9:	81 f9 00 30 00 00    	cmp    $0x3000,%ecx
4099bf:	75 0d                	jne    0x4099ce
4099c1:	b1 41                	mov    $0x41,%cl
4099c3:	88 08                	mov    %cl,(%eax)
4099c5:	c6 40 01 00          	movb   $0x0,0x1(%eax)
4099c9:	8b c6                	mov    %esi,%eax
4099cb:	5e                   	pop    %esi
4099cc:	5d                   	pop    %ebp
4099cd:	c3                   	ret
4099ce:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
4099d4:	0f 95 c1             	setne  %cl
4099d7:	8d 0c 4d 45 00 00 00 	lea    0x45(,%ecx,2),%ecx
4099de:	88 08                	mov    %cl,(%eax)
4099e0:	c6 40 01 00          	movb   $0x0,0x1(%eax)
4099e4:	8b c6                	mov    %esi,%eax
4099e6:	5e                   	pop    %esi
4099e7:	5d                   	pop    %ebp
4099e8:	c3                   	ret
4099e9:	81 f9 00 20 00 00    	cmp    $0x2000,%ecx
4099ef:	75 0d                	jne    0x4099fe
4099f1:	b1 66                	mov    $0x66,%cl
4099f3:	88 08                	mov    %cl,(%eax)
4099f5:	c6 40 01 00          	movb   $0x0,0x1(%eax)
4099f9:	8b c6                	mov    %esi,%eax
4099fb:	5e                   	pop    %esi
4099fc:	5d                   	pop    %ebp
4099fd:	c3                   	ret
4099fe:	81 f9 00 30 00 00    	cmp    $0x3000,%ecx
409a04:	75 0d                	jne    0x409a13
409a06:	b1 61                	mov    $0x61,%cl
409a08:	88 08                	mov    %cl,(%eax)
409a0a:	c6 40 01 00          	movb   $0x0,0x1(%eax)
409a0e:	8b c6                	mov    %esi,%eax
409a10:	5e                   	pop    %esi
409a11:	5d                   	pop    %ebp
409a12:	c3                   	ret
409a13:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
409a19:	0f 95 c1             	setne  %cl
409a1c:	8d 0c 4d 65 00 00 00 	lea    0x65(,%ecx,2),%ecx
409a23:	88 08                	mov    %cl,(%eax)
409a25:	c6 40 01 00          	movb   $0x0,0x1(%eax)
409a29:	8b c6                	mov    %esi,%eax
409a2b:	5e                   	pop    %esi
409a2c:	5d                   	pop    %ebp
409a2d:	c3                   	ret
409a2e:	cc                   	int3
409a2f:	cc                   	int3
409a30:	55                   	push   %ebp
409a31:	8b ec                	mov    %esp,%ebp
409a33:	6a ff                	push   $0xffffffff
409a35:	68 d0 bf 43 00       	push   $0x43bfd0
409a3a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
409a40:	50                   	push   %eax
409a41:	56                   	push   %esi
409a42:	57                   	push   %edi
409a43:	a1 14 50 45 00       	mov    0x455014,%eax
409a48:	33 c5                	xor    %ebp,%eax
409a4a:	50                   	push   %eax
409a4b:	8d 45 f4             	lea    -0xc(%ebp),%eax
409a4e:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
409a54:	8b 09                	mov    (%ecx),%ecx
409a56:	8b 01                	mov    (%ecx),%eax
409a58:	8b 40 04             	mov    0x4(%eax),%eax
409a5b:	8b 7c 08 38          	mov    0x38(%eax,%ecx,1),%edi
409a5f:	85 ff                	test   %edi,%edi
409a61:	74 11                	je     0x409a74
409a63:	8b 07                	mov    (%edi),%eax
409a65:	8b 70 08             	mov    0x8(%eax),%esi
409a68:	8b ce                	mov    %esi,%ecx
409a6a:	ff 15 5c e2 43 00    	call   *0x43e25c
409a70:	8b cf                	mov    %edi,%ecx
409a72:	ff d6                	call   *%esi
409a74:	8b 4d f4             	mov    -0xc(%ebp),%ecx
409a77:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
409a7e:	59                   	pop    %ecx
409a7f:	5f                   	pop    %edi
409a80:	5e                   	pop    %esi
409a81:	8b e5                	mov    %ebp,%esp
409a83:	5d                   	pop    %ebp
409a84:	c3                   	ret
409a85:	cc                   	int3
409a86:	cc                   	int3
409a87:	cc                   	int3
409a88:	cc                   	int3
409a89:	cc                   	int3
409a8a:	cc                   	int3
409a8b:	cc                   	int3
409a8c:	cc                   	int3
409a8d:	cc                   	int3
409a8e:	cc                   	int3
409a8f:	cc                   	int3
409a90:	55                   	push   %ebp
409a91:	8b ec                	mov    %esp,%ebp
409a93:	6a ff                	push   $0xffffffff
409a95:	68 f0 bf 43 00       	push   $0x43bff0
409a9a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
409aa0:	50                   	push   %eax
409aa1:	83 ec 08             	sub    $0x8,%esp
409aa4:	53                   	push   %ebx
409aa5:	56                   	push   %esi
409aa6:	57                   	push   %edi
409aa7:	a1 14 50 45 00       	mov    0x455014,%eax
409aac:	33 c5                	xor    %ebp,%eax
409aae:	50                   	push   %eax
409aaf:	8d 45 f4             	lea    -0xc(%ebp),%eax
409ab2:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
409ab8:	8b c1                	mov    %ecx,%eax
409aba:	89 45 f0             	mov    %eax,-0x10(%ebp)
409abd:	6a 08                	push   $0x8
409abf:	c7 00 20 ef 44 00    	movl   $0x44ef20,(%eax)
409ac5:	e8 fc 00 01 00       	call   0x419bc6
409aca:	8b f0                	mov    %eax,%esi
409acc:	0f 57 c0             	xorps  %xmm0,%xmm0
409acf:	66 0f d6 06          	movq   %xmm0,(%esi)
409ad3:	6a 01                	push   $0x1
409ad5:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
409adc:	e8 33 f6 00 00       	call   0x419114
409ae1:	89 46 04             	mov    %eax,0x4(%esi)
409ae4:	83 c4 08             	add    $0x8,%esp
409ae7:	8b 45 f0             	mov    -0x10(%ebp),%eax
409aea:	8d 78 14             	lea    0x14(%eax),%edi
409aed:	8d 48 18             	lea    0x18(%eax),%ecx
409af0:	8d 50 24             	lea    0x24(%eax),%edx
409af3:	89 70 34             	mov    %esi,0x34(%eax)
409af6:	8d 58 04             	lea    0x4(%eax),%ebx
409af9:	89 58 0c             	mov    %ebx,0xc(%eax)
409afc:	8d 70 08             	lea    0x8(%eax),%esi
409aff:	89 70 10             	mov    %esi,0x10(%eax)
409b02:	89 78 1c             	mov    %edi,0x1c(%eax)
409b05:	89 48 20             	mov    %ecx,0x20(%eax)
409b08:	89 50 2c             	mov    %edx,0x2c(%eax)
409b0b:	83 c0 28             	add    $0x28,%eax
409b0e:	89 5d ec             	mov    %ebx,-0x14(%ebp)
409b11:	8b 5d f0             	mov    -0x10(%ebp),%ebx
409b14:	89 43 30             	mov    %eax,0x30(%ebx)
409b17:	8b 5d ec             	mov    -0x14(%ebp),%ebx
409b1a:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
409b20:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
409b26:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
409b2c:	8b 45 f0             	mov    -0x10(%ebp),%eax
409b2f:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
409b35:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
409b3b:	c7 02 00 00 00 00    	movl   $0x0,(%edx)
409b41:	8b 4d f4             	mov    -0xc(%ebp),%ecx
409b44:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
409b4b:	59                   	pop    %ecx
409b4c:	5f                   	pop    %edi
409b4d:	5e                   	pop    %esi
409b4e:	5b                   	pop    %ebx
409b4f:	8b e5                	mov    %ebp,%esp
409b51:	5d                   	pop    %ebp
409b52:	c3                   	ret
409b53:	cc                   	int3
409b54:	cc                   	int3
409b55:	cc                   	int3
409b56:	cc                   	int3
409b57:	cc                   	int3
409b58:	cc                   	int3
409b59:	cc                   	int3
409b5a:	cc                   	int3
409b5b:	cc                   	int3
409b5c:	cc                   	int3
409b5d:	cc                   	int3
409b5e:	cc                   	int3
409b5f:	cc                   	int3
409b60:	55                   	push   %ebp
409b61:	8b ec                	mov    %esp,%ebp
409b63:	6a ff                	push   $0xffffffff
409b65:	68 1d c0 43 00       	push   $0x43c01d
409b6a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
409b70:	50                   	push   %eax
409b71:	83 ec 1c             	sub    $0x1c,%esp
409b74:	a1 14 50 45 00       	mov    0x455014,%eax
409b79:	33 c5                	xor    %ebp,%eax
409b7b:	89 45 ec             	mov    %eax,-0x14(%ebp)
409b7e:	53                   	push   %ebx
409b7f:	56                   	push   %esi
409b80:	57                   	push   %edi
409b81:	50                   	push   %eax
409b82:	8d 45 f4             	lea    -0xc(%ebp),%eax
409b85:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
409b8b:	89 65 f0             	mov    %esp,-0x10(%ebp)
409b8e:	8b f9                	mov    %ecx,%edi
409b90:	8b 07                	mov    (%edi),%eax
409b92:	89 7d e0             	mov    %edi,-0x20(%ebp)
409b95:	8b 40 04             	mov    0x4(%eax),%eax
409b98:	8b 74 38 38          	mov    0x38(%eax,%edi,1),%esi
409b9c:	89 75 dc             	mov    %esi,-0x24(%ebp)
409b9f:	85 f6                	test   %esi,%esi
409ba1:	0f 84 c5 00 00 00    	je     0x409c6c
409ba7:	57                   	push   %edi
409ba8:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
409bab:	e8 10 f1 ff ff       	call   0x408cc0
409bb0:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
409bb7:	80 7d e8 00          	cmpb   $0x0,-0x18(%ebp)
409bbb:	74 72                	je     0x409c2f
409bbd:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
409bc1:	33 db                	xor    %ebx,%ebx
409bc3:	8b 06                	mov    (%esi),%eax
409bc5:	89 5d d8             	mov    %ebx,-0x28(%ebp)
409bc8:	8b 70 34             	mov    0x34(%eax),%esi
409bcb:	8b ce                	mov    %esi,%ecx
409bcd:	ff 15 5c e2 43 00    	call   *0x43e25c