4108e9:	33 c9                	xor    %ecx,%ecx
4108eb:	41                   	inc    %ecx
4108ec:	66 3b 3a             	cmp    (%edx),%di
4108ef:	75 1e                	jne    0x41090f
4108f1:	66 85 ff             	test   %di,%di
4108f4:	74 15                	je     0x41090b
4108f6:	66 8b 78 02          	mov    0x2(%eax),%di
4108fa:	66 3b 7a 02          	cmp    0x2(%edx),%di
4108fe:	75 0f                	jne    0x41090f
410900:	83 c0 04             	add    $0x4,%eax
410903:	83 c2 04             	add    $0x4,%edx
410906:	66 85 ff             	test   %di,%di
410909:	75 db                	jne    0x4108e6
41090b:	33 c0                	xor    %eax,%eax
41090d:	eb 04                	jmp    0x410913
41090f:	1b c0                	sbb    %eax,%eax
410911:	0b c1                	or     %ecx,%eax
410913:	5f                   	pop    %edi
410914:	85 c0                	test   %eax,%eax
410916:	74 07                	je     0x41091f
410918:	b8 bc 49 43 00       	mov    $0x4349bc,%eax
41091d:	87 08                	xchg   %ecx,(%eax)
41091f:	8b 06                	mov    (%esi),%eax
410921:	ff 30                	push   (%eax)
410923:	8b 46 04             	mov    0x4(%esi),%eax
410926:	8b 00                	mov    (%eax),%eax
410928:	83 c0 4c             	add    $0x4c,%eax
41092b:	50                   	push   %eax
41092c:	e8 66 bf 00 00       	call   0x41c897
410931:	8b 06                	mov    (%esi),%eax
410933:	ff 30                	push   (%eax)
410935:	e8 5b be 00 00       	call   0x41c795
41093a:	8b 46 04             	mov    0x4(%esi),%eax
41093d:	83 c4 0c             	add    $0xc,%esp
410940:	8b 00                	mov    (%eax),%eax
410942:	f6 80 50 03 00 00 02 	testb  $0x2,0x350(%eax)
410949:	75 4f                	jne    0x41099a
41094b:	f6 05 a0 33 43 00 01 	testb  $0x1,0x4333a0
410952:	75 46                	jne    0x41099a
410954:	ff 70 4c             	push   0x4c(%eax)
410957:	68 d8 4c 43 00       	push   $0x434cd8
41095c:	e8 36 bf 00 00       	call   0x41c897
410961:	a1 d8 4c 43 00       	mov    0x434cd8,%eax
410966:	59                   	pop    %ecx
410967:	59                   	pop    %ecx
410968:	5e                   	pop    %esi
410969:	8b 88 88 00 00 00    	mov    0x88(%eax),%ecx
41096f:	89 0d 60 31 43 00    	mov    %ecx,0x433160
410975:	8b 08                	mov    (%eax),%ecx
410977:	89 0d 6c 31 43 00    	mov    %ecx,0x43316c
41097d:	8b 40 04             	mov    0x4(%eax),%eax
410980:	a3 94 32 43 00       	mov    %eax,0x433294
410985:	c3                   	ret
410986:	8b 06                	mov    (%esi),%eax
410988:	ff 30                	push   (%eax)
41098a:	e8 06 be 00 00       	call   0x41c795
41098f:	8b 06                	mov    (%esi),%eax
410991:	ff 30                	push   (%eax)
410993:	e8 32 bc 00 00       	call   0x41c5ca
410998:	59                   	pop    %ecx
410999:	59                   	pop    %ecx
41099a:	5e                   	pop    %esi
41099b:	c3                   	ret
41099c:	8b ff                	mov    %edi,%edi
41099e:	55                   	push   %ebp
41099f:	8b ec                	mov    %esp,%ebp
4109a1:	56                   	push   %esi
4109a2:	ff 75 0c             	push   0xc(%ebp)
4109a5:	8b f1                	mov    %ecx,%esi
4109a7:	ff 75 08             	push   0x8(%ebp)
4109aa:	6a 55                	push   $0x55
4109ac:	8b 46 08             	mov    0x8(%esi),%eax
4109af:	05 50 02 00 00       	add    $0x250,%eax
4109b4:	50                   	push   %eax
4109b5:	e8 14 9d 00 00       	call   0x41a6ce
4109ba:	83 c4 10             	add    $0x10,%esp
4109bd:	85 c0                	test   %eax,%eax
4109bf:	75 12                	jne    0x4109d3
4109c1:	ff 75 0c             	push   0xc(%ebp)
4109c4:	8b ce                	mov    %esi,%ecx
4109c6:	ff 75 08             	push   0x8(%ebp)
4109c9:	e8 12 00 00 00       	call   0x4109e0
4109ce:	5e                   	pop    %esi
4109cf:	5d                   	pop    %ebp
4109d0:	c2 08 00             	ret    $0x8
4109d3:	33 c0                	xor    %eax,%eax
4109d5:	50                   	push   %eax
4109d6:	50                   	push   %eax
4109d7:	50                   	push   %eax
4109d8:	50                   	push   %eax
4109d9:	50                   	push   %eax
4109da:	e8 cf c6 ff ff       	call   0x40d0ae
4109df:	cc                   	int3
4109e0:	8b ff                	mov    %edi,%edi
4109e2:	55                   	push   %ebp
4109e3:	8b ec                	mov    %esp,%ebp
4109e5:	56                   	push   %esi
4109e6:	ff 75 0c             	push   0xc(%ebp)
4109e9:	8b f1                	mov    %ecx,%esi
4109eb:	ff 75 08             	push   0x8(%ebp)
4109ee:	ff 76 04             	push   0x4(%esi)
4109f1:	ff 36                	push   (%esi)
4109f3:	e8 d6 9c 00 00       	call   0x41a6ce
4109f8:	83 c4 10             	add    $0x10,%esp
4109fb:	85 c0                	test   %eax,%eax
4109fd:	75 09                	jne    0x410a08
4109ff:	c6 46 0c 01          	movb   $0x1,0xc(%esi)
410a03:	5e                   	pop    %esi
410a04:	5d                   	pop    %ebp
410a05:	c2 08 00             	ret    $0x8
410a08:	33 c0                	xor    %eax,%eax
410a0a:	50                   	push   %eax
410a0b:	50                   	push   %eax
410a0c:	50                   	push   %eax
410a0d:	50                   	push   %eax
410a0e:	50                   	push   %eax
410a0f:	e8 9a c6 ff ff       	call   0x40d0ae
410a14:	cc                   	int3
410a15:	8b ff                	mov    %edi,%edi
410a17:	55                   	push   %ebp
410a18:	8b ec                	mov    %esp,%ebp
410a1a:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
410a1e:	53                   	push   %ebx
410a1f:	57                   	push   %edi
410a20:	74 40                	je     0x410a62
410a22:	6a 55                	push   $0x55
410a24:	ff 75 08             	push   0x8(%ebp)
410a27:	e8 62 ee ff ff       	call   0x40f88e
410a2c:	8b d8                	mov    %eax,%ebx
410a2e:	59                   	pop    %ecx
410a2f:	59                   	pop    %ecx
410a30:	83 fb 55             	cmp    $0x55,%ebx
410a33:	73 2d                	jae    0x410a62
410a35:	8d 0c 5d 02 00 00 00 	lea    0x2(,%ebx,2),%ecx
410a3c:	51                   	push   %ecx
410a3d:	e8 24 31 00 00       	call   0x413b66
410a42:	8b f8                	mov    %eax,%edi
410a44:	59                   	pop    %ecx
410a45:	85 ff                	test   %edi,%edi
410a47:	74 19                	je     0x410a62
410a49:	8d 4b 01             	lea    0x1(%ebx),%ecx
410a4c:	51                   	push   %ecx
410a4d:	ff 75 08             	push   0x8(%ebp)
410a50:	51                   	push   %ecx
410a51:	57                   	push   %edi
410a52:	e8 77 9c 00 00       	call   0x41a6ce
410a57:	83 c4 10             	add    $0x10,%esp
410a5a:	85 c0                	test   %eax,%eax
410a5c:	75 0a                	jne    0x410a68
410a5e:	8b c7                	mov    %edi,%eax
410a60:	eb 02                	jmp    0x410a64
410a62:	33 c0                	xor    %eax,%eax
410a64:	5f                   	pop    %edi
410a65:	5b                   	pop    %ebx
410a66:	5d                   	pop    %ebp
410a67:	c3                   	ret
410a68:	33 c0                	xor    %eax,%eax
410a6a:	50                   	push   %eax
410a6b:	50                   	push   %eax
410a6c:	50                   	push   %eax
410a6d:	50                   	push   %eax
410a6e:	50                   	push   %eax
410a6f:	e8 3a c6 ff ff       	call   0x40d0ae
410a74:	cc                   	int3
410a75:	33 c0                	xor    %eax,%eax
410a77:	b9 bc 49 43 00       	mov    $0x4349bc,%ecx
410a7c:	40                   	inc    %eax
410a7d:	87 01                	xchg   %eax,(%ecx)
410a7f:	c3                   	ret
410a80:	8b ff                	mov    %edi,%edi
410a82:	55                   	push   %ebp
410a83:	8b ec                	mov    %esp,%ebp
410a85:	83 ec 0c             	sub    $0xc,%esp
410a88:	6a 04                	push   $0x4
410a8a:	58                   	pop    %eax
410a8b:	89 45 f8             	mov    %eax,-0x8(%ebp)
410a8e:	8d 4d ff             	lea    -0x1(%ebp),%ecx
410a91:	89 45 f4             	mov    %eax,-0xc(%ebp)
410a94:	8d 45 f8             	lea    -0x8(%ebp),%eax
410a97:	50                   	push   %eax
410a98:	8d 45 ff             	lea    -0x1(%ebp),%eax
410a9b:	50                   	push   %eax
410a9c:	8d 45 f4             	lea    -0xc(%ebp),%eax
410a9f:	50                   	push   %eax
410aa0:	e8 a7 fc ff ff       	call   0x41074c
410aa5:	c9                   	leave
410aa6:	c3                   	ret
410aa7:	8b ff                	mov    %edi,%edi
410aa9:	55                   	push   %ebp
410aaa:	8b ec                	mov    %esp,%ebp
410aac:	56                   	push   %esi
410aad:	57                   	push   %edi
410aae:	8b 7d 10             	mov    0x10(%ebp),%edi
410ab1:	57                   	push   %edi
410ab2:	ff 75 0c             	push   0xc(%ebp)
410ab5:	ff 75 08             	push   0x8(%ebp)
410ab8:	e8 a0 7f 00 00       	call   0x418a5d
410abd:	83 c4 0c             	add    $0xc,%esp
410ac0:	33 f6                	xor    %esi,%esi
410ac2:	85 c0                	test   %eax,%eax
410ac4:	75 46                	jne    0x410b0c
410ac6:	8d 87 80 00 00 00    	lea    0x80(%edi),%eax
410acc:	66 39 30             	cmp    %si,(%eax)
410acf:	74 16                	je     0x410ae7
410ad1:	50                   	push   %eax
410ad2:	68 60 76 42 00       	push   $0x427660
410ad7:	6a 02                	push   $0x2
410ad9:	ff 75 0c             	push   0xc(%ebp)
410adc:	ff 75 08             	push   0x8(%ebp)
410adf:	e8 da 05 00 00       	call   0x4110be
410ae4:	83 c4 14             	add    $0x14,%esp
410ae7:	81 c7 00 01 00 00    	add    $0x100,%edi
410aed:	66 39 37             	cmp    %si,(%edi)
410af0:	74 16                	je     0x410b08
410af2:	57                   	push   %edi
410af3:	68 64 76 42 00       	push   $0x427664
410af8:	6a 02                	push   $0x2
410afa:	ff 75 0c             	push   0xc(%ebp)
410afd:	ff 75 08             	push   0x8(%ebp)
410b00:	e8 b9 05 00 00       	call   0x4110be
410b05:	83 c4 14             	add    $0x14,%esp
410b08:	5f                   	pop    %edi
410b09:	5e                   	pop    %esi
410b0a:	5d                   	pop    %ebp
410b0b:	c3                   	ret
410b0c:	56                   	push   %esi
410b0d:	56                   	push   %esi
410b0e:	56                   	push   %esi
410b0f:	56                   	push   %esi
410b10:	56                   	push   %esi
410b11:	e8 98 c5 ff ff       	call   0x40d0ae
410b16:	cc                   	int3
410b17:	8b ff                	mov    %edi,%edi
410b19:	55                   	push   %ebp
410b1a:	8b ec                	mov    %esp,%ebp
410b1c:	51                   	push   %ecx
410b1d:	51                   	push   %ecx
410b1e:	53                   	push   %ebx
410b1f:	56                   	push   %esi
410b20:	57                   	push   %edi
410b21:	8b 7d 08             	mov    0x8(%ebp),%edi
410b24:	33 db                	xor    %ebx,%ebx
410b26:	68 ca 01 00 00       	push   $0x1ca
410b2b:	53                   	push   %ebx
410b2c:	57                   	push   %edi
410b2d:	e8 be 83 ff ff       	call   0x408ef0
410b32:	8b 75 0c             	mov    0xc(%ebp),%esi
410b35:	83 c4 0c             	add    $0xc,%esp
410b38:	0f b7 06             	movzwl (%esi),%eax
410b3b:	66 85 c0             	test   %ax,%ax
410b3e:	75 07                	jne    0x410b47
410b40:	33 c0                	xor    %eax,%eax
410b42:	e9 0e 01 00 00       	jmp    0x410c55
410b47:	6a 2e                	push   $0x2e
410b49:	59                   	pop    %ecx
410b4a:	66 3b c1             	cmp    %cx,%ax
410b4d:	75 2d                	jne    0x410b7c
410b4f:	8d 46 02             	lea    0x2(%esi),%eax
410b52:	66 39 18             	cmp    %bx,(%eax)
410b55:	74 25                	je     0x410b7c
410b57:	6a 0f                	push   $0xf
410b59:	50                   	push   %eax
410b5a:	8d 87 00 01 00 00    	lea    0x100(%edi),%eax
410b60:	6a 10                	push   $0x10
410b62:	50                   	push   %eax
410b63:	e8 66 9b 00 00       	call   0x41a6ce
410b68:	83 c4 10             	add    $0x10,%esp
410b6b:	85 c0                	test   %eax,%eax
410b6d:	0f 85 e9 00 00 00    	jne    0x410c5c
410b73:	66 89 87 1e 01 00 00 	mov    %ax,0x11e(%edi)
410b7a:	eb c4                	jmp    0x410b40
410b7c:	68 58 76 42 00       	push   $0x427658
410b81:	56                   	push   %esi
410b82:	89 5d fc             	mov    %ebx,-0x4(%ebp)
410b85:	e8 1c b9 00 00       	call   0x41c4a6
410b8a:	59                   	pop    %ecx
410b8b:	59                   	pop    %ecx
410b8c:	85 c0                	test   %eax,%eax
410b8e:	0f 84 be 00 00 00    	je     0x410c52
410b94:	6a 2c                	push   $0x2c
410b96:	5a                   	pop    %edx
410b97:	8d 0c 46             	lea    (%esi,%eax,2),%ecx
410b9a:	0f b7 19             	movzwl (%ecx),%ebx
410b9d:	89 4d f8             	mov    %ecx,-0x8(%ebp)
410ba0:	8b 4d fc             	mov    -0x4(%ebp),%ecx
410ba3:	85 c9                	test   %ecx,%ecx
410ba5:	75 2b                	jne    0x410bd2
410ba7:	83 f8 40             	cmp    $0x40,%eax
410baa:	0f 83 a2 00 00 00    	jae    0x410c52
410bb0:	50                   	push   %eax
410bb1:	56                   	push   %esi
410bb2:	6a 40                	push   $0x40
410bb4:	57                   	push   %edi
410bb5:	e8 14 9b 00 00       	call   0x41a6ce
410bba:	83 c4 10             	add    $0x10,%esp
410bbd:	85 c0                	test   %eax,%eax
410bbf:	0f 85 95 00 00 00    	jne    0x410c5a
410bc5:	6a 2e                	push   $0x2e
410bc7:	58                   	pop    %eax
410bc8:	66 3b d8             	cmp    %ax,%bx
410bcb:	75 4b                	jne    0x410c18
410bcd:	33 c0                	xor    %eax,%eax
410bcf:	40                   	inc    %eax
410bd0:	eb 49                	jmp    0x410c1b
410bd2:	83 f9 01             	cmp    $0x1,%ecx
410bd5:	75 16                	jne    0x410bed
410bd7:	83 f8 40             	cmp    $0x40,%eax
410bda:	73 76                	jae    0x410c52
410bdc:	83 fb 5f             	cmp    $0x5f,%ebx
410bdf:	74 71                	je     0x410c52
410be1:	50                   	push   %eax
410be2:	56                   	push   %esi
410be3:	6a 40                	push   $0x40
410be5:	8d 87 80 00 00 00    	lea    0x80(%edi),%eax
410beb:	eb 1e                	jmp    0x410c0b
410bed:	83 f9 02             	cmp    $0x2,%ecx
410bf0:	75 60                	jne    0x410c52
410bf2:	83 f8 10             	cmp    $0x10,%eax
410bf5:	73 5b                	jae    0x410c52
410bf7:	66 85 db             	test   %bx,%bx
410bfa:	74 05                	je     0x410c01
410bfc:	66 3b da             	cmp    %dx,%bx
410bff:	75 51                	jne    0x410c52
410c01:	50                   	push   %eax
410c02:	56                   	push   %esi
410c03:	6a 10                	push   $0x10
410c05:	8d 87 00 01 00 00    	lea    0x100(%edi),%eax
410c0b:	50                   	push   %eax
410c0c:	e8 bd 9a 00 00       	call   0x41a6ce
410c11:	83 c4 10             	add    $0x10,%esp
410c14:	85 c0                	test   %eax,%eax
410c16:	75 42                	jne    0x410c5a
410c18:	8b 45 fc             	mov    -0x4(%ebp),%eax
410c1b:	6a 2c                	push   $0x2c
410c1d:	59                   	pop    %ecx
410c1e:	66 3b d9             	cmp    %cx,%bx
410c21:	0f 84 19 ff ff ff    	je     0x410b40
410c27:	66 85 db             	test   %bx,%bx
410c2a:	0f 84 10 ff ff ff    	je     0x410b40
410c30:	8b 75 f8             	mov    -0x8(%ebp),%esi
410c33:	83 c6 02             	add    $0x2,%esi
410c36:	40                   	inc    %eax
410c37:	68 58 76 42 00       	push   $0x427658
410c3c:	56                   	push   %esi
410c3d:	89 45 fc             	mov    %eax,-0x4(%ebp)
410c40:	e8 61 b8 00 00       	call   0x41c4a6
410c45:	59                   	pop    %ecx
410c46:	59                   	pop    %ecx
410c47:	6a 2c                	push   $0x2c
410c49:	5a                   	pop    %edx