4108c9:	8b e5                	mov    %ebp,%esp
4108cb:	5d                   	pop    %ebp
4108cc:	c2 08 00             	ret    $0x8
4108cf:	cc                   	int3
4108d0:	8b 41 04             	mov    0x4(%ecx),%eax
4108d3:	85 c0                	test   %eax,%eax
4108d5:	74 0b                	je     0x4108e2
4108d7:	6a 40                	push   $0x40
4108d9:	50                   	push   %eax
4108da:	e8 2f b0 00 00       	call   0x41b90e
4108df:	83 c4 08             	add    $0x8,%esp
4108e2:	c3                   	ret
4108e3:	cc                   	int3
4108e4:	cc                   	int3
4108e5:	cc                   	int3
4108e6:	cc                   	int3
4108e7:	cc                   	int3
4108e8:	cc                   	int3
4108e9:	cc                   	int3
4108ea:	cc                   	int3
4108eb:	cc                   	int3
4108ec:	cc                   	int3
4108ed:	cc                   	int3
4108ee:	cc                   	int3
4108ef:	cc                   	int3
4108f0:	55                   	push   %ebp
4108f1:	8b ec                	mov    %esp,%ebp
4108f3:	6a ff                	push   $0xffffffff
4108f5:	68 75 e0 43 00       	push   $0x43e075
4108fa:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
410900:	50                   	push   %eax
410901:	83 ec 20             	sub    $0x20,%esp
410904:	53                   	push   %ebx
410905:	56                   	push   %esi
410906:	57                   	push   %edi
410907:	a1 14 40 45 00       	mov    0x454014,%eax
41090c:	33 c5                	xor    %ebp,%eax
41090e:	50                   	push   %eax
41090f:	8d 45 f4             	lea    -0xc(%ebp),%eax
410912:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
410918:	89 65 f0             	mov    %esp,-0x10(%ebp)
41091b:	8b c1                	mov    %ecx,%eax
41091d:	89 45 e4             	mov    %eax,-0x1c(%ebp)
410920:	8b 4d 08             	mov    0x8(%ebp),%ecx
410923:	8b 10                	mov    (%eax),%edx
410925:	89 45 e0             	mov    %eax,-0x20(%ebp)
410928:	89 4d e8             	mov    %ecx,-0x18(%ebp)
41092b:	80 79 0d 00          	cmpb   $0x0,0xd(%ecx)
41092f:	89 55 ec             	mov    %edx,-0x14(%ebp)
410932:	0f 85 92 00 00 00    	jne    0x4109ca
410938:	8d 79 10             	lea    0x10(%ecx),%edi
41093b:	89 45 d8             	mov    %eax,-0x28(%ebp)
41093e:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
410945:	6a 40                	push   $0x40
410947:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
41094e:	e8 8b af 00 00       	call   0x41b8de
410953:	8b d8                	mov    %eax,%ebx
410955:	83 c4 04             	add    $0x4,%esp
410958:	89 5d dc             	mov    %ebx,-0x24(%ebp)
41095b:	8d 73 10             	lea    0x10(%ebx),%esi
41095e:	57                   	push   %edi
41095f:	8b ce                	mov    %esi,%ecx
410961:	89 75 d4             	mov    %esi,-0x2c(%ebp)
410964:	e8 57 19 ff ff       	call   0x4022c0
410969:	8d 47 18             	lea    0x18(%edi),%eax
41096c:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
410970:	50                   	push   %eax
410971:	8d 4e 18             	lea    0x18(%esi),%ecx
410974:	e8 47 19 ff ff       	call   0x4022c0
410979:	8b 4d ec             	mov    -0x14(%ebp),%ecx
41097c:	8b 7d e8             	mov    -0x18(%ebp),%edi
41097f:	8b 45 0c             	mov    0xc(%ebp),%eax
410982:	8b 75 e4             	mov    -0x1c(%ebp),%esi
410985:	89 0b                	mov    %ecx,(%ebx)
410987:	89 4b 08             	mov    %ecx,0x8(%ebx)
41098a:	66 c7 43 0c 00 00    	movw   $0x0,0xc(%ebx)
410990:	89 43 04             	mov    %eax,0x4(%ebx)
410993:	8a 47 0c             	mov    0xc(%edi),%al
410996:	88 43 0c             	mov    %al,0xc(%ebx)
410999:	80 79 0d 00          	cmpb   $0x0,0xd(%ecx)
41099d:	53                   	push   %ebx
41099e:	0f 45 cb             	cmovne %ebx,%ecx
4109a1:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
4109a8:	ff 37                	push   (%edi)
4109aa:	89 4d ec             	mov    %ecx,-0x14(%ebp)
4109ad:	89 4d e8             	mov    %ecx,-0x18(%ebp)
4109b0:	8b ce                	mov    %esi,%ecx
4109b2:	e8 39 ff ff ff       	call   0x4108f0
4109b7:	53                   	push   %ebx
4109b8:	89 03                	mov    %eax,(%ebx)
4109ba:	8b ce                	mov    %esi,%ecx
4109bc:	ff 77 08             	push   0x8(%edi)
4109bf:	e8 2c ff ff ff       	call   0x4108f0
4109c4:	8b 55 ec             	mov    -0x14(%ebp),%edx
4109c7:	89 43 08             	mov    %eax,0x8(%ebx)
4109ca:	8b c2                	mov    %edx,%eax
4109cc:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4109cf:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4109d6:	59                   	pop    %ecx
4109d7:	5f                   	pop    %edi
4109d8:	5e                   	pop    %esi
4109d9:	5b                   	pop    %ebx
4109da:	8b e5                	mov    %ebp,%esp
4109dc:	5d                   	pop    %ebp
4109dd:	c2 08 00             	ret    $0x8
4109e0:	ff 75 e8             	push   -0x18(%ebp)
4109e3:	8b 4d e0             	mov    -0x20(%ebp),%ecx
4109e6:	e8 f5 9c ff ff       	call   0x40a6e0
4109eb:	50                   	push   %eax
4109ec:	e8 6f c8 ff ff       	call   0x40d260
4109f1:	6a 00                	push   $0x0
4109f3:	6a 00                	push   $0x0
4109f5:	e8 e4 c9 00 00       	call   0x41d3de
4109fa:	cc                   	int3
4109fb:	cc                   	int3
4109fc:	cc                   	int3
4109fd:	cc                   	int3
4109fe:	cc                   	int3
4109ff:	cc                   	int3
410a00:	55                   	push   %ebp
410a01:	8b ec                	mov    %esp,%ebp
410a03:	81 ec 14 02 00 00    	sub    $0x214,%esp
410a09:	a1 14 40 45 00       	mov    0x454014,%eax
410a0e:	33 c5                	xor    %ebp,%eax
410a10:	89 45 fc             	mov    %eax,-0x4(%ebp)
410a13:	53                   	push   %ebx
410a14:	56                   	push   %esi
410a15:	57                   	push   %edi
410a16:	8d 85 f0 fd ff ff    	lea    -0x210(%ebp),%eax
410a1c:	c7 85 f0 fd ff ff 00 	movl   $0x0,-0x210(%ebp)
410a23:	00 00 00
410a26:	50                   	push   %eax
410a27:	6a 00                	push   $0x0
410a29:	6a 00                	push   $0x0
410a2b:	8b f1                	mov    %ecx,%esi
410a2d:	8b fa                	mov    %edx,%edi
410a2f:	56                   	push   %esi
410a30:	6a 00                	push   $0x0
410a32:	32 db                	xor    %bl,%bl
410a34:	ff 15 dc f1 43 00    	call   *0x43f1dc
410a3a:	85 c0                	test   %eax,%eax
410a3c:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
410a42:	50                   	push   %eax
410a43:	0f 88 93 00 00 00    	js     0x410adc
410a49:	ff b5 f0 fd ff ff    	push   -0x210(%ebp)
410a4f:	ff 15 d0 f1 43 00    	call   *0x43f1d0
410a55:	85 c0                	test   %eax,%eax
410a57:	74 75                	je     0x410ace
410a59:	8d 8d f4 fd ff ff    	lea    -0x20c(%ebp),%ecx
410a5f:	8d 51 02             	lea    0x2(%ecx),%edx
410a62:	66 8b 01             	mov    (%ecx),%ax
410a65:	83 c1 02             	add    $0x2,%ecx
410a68:	66 85 c0             	test   %ax,%ax
410a6b:	75 f5                	jne    0x410a62
410a6d:	8b 47 14             	mov    0x14(%edi),%eax
410a70:	2b ca                	sub    %edx,%ecx
410a72:	d1 f9                	sar    $1,%ecx
410a74:	3b c8                	cmp    %eax,%ecx
410a76:	77 39                	ja     0x410ab1
410a78:	8b df                	mov    %edi,%ebx
410a7a:	83 f8 08             	cmp    $0x8,%eax
410a7d:	72 02                	jb     0x410a81
410a7f:	8b 1f                	mov    (%edi),%ebx
410a81:	8d 34 09             	lea    (%ecx,%ecx,1),%esi
410a84:	89 4f 10             	mov    %ecx,0x10(%edi)
410a87:	56                   	push   %esi
410a88:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
410a8e:	50                   	push   %eax
410a8f:	53                   	push   %ebx
410a90:	e8 bb c9 00 00       	call   0x41d450
410a95:	83 c4 0c             	add    $0xc,%esp
410a98:	33 c0                	xor    %eax,%eax
410a9a:	66 89 04 1e          	mov    %ax,(%esi,%ebx,1)
410a9e:	b3 01                	mov    $0x1,%bl
410aa0:	ff b5 f0 fd ff ff    	push   -0x210(%ebp)
410aa6:	ff 15 34 f2 43 00    	call   *0x43f234
410aac:	e9 a0 00 00 00       	jmp    0x410b51
410ab1:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
410ab7:	88 9d ec fd ff ff    	mov    %bl,-0x214(%ebp)
410abd:	50                   	push   %eax
410abe:	ff b5 ec fd ff ff    	push   -0x214(%ebp)
410ac4:	51                   	push   %ecx
410ac5:	8b cf                	mov    %edi,%ecx
410ac7:	e8 44 1b ff ff       	call   0x402610
410acc:	b3 01                	mov    $0x1,%bl
410ace:	ff b5 f0 fd ff ff    	push   -0x210(%ebp)
410ad4:	ff 15 34 f2 43 00    	call   *0x43f234
410ada:	eb 75                	jmp    0x410b51
410adc:	6a 01                	push   $0x1
410ade:	6a 00                	push   $0x0
410ae0:	56                   	push   %esi
410ae1:	6a 00                	push   $0x0
410ae3:	ff 15 d4 f1 43 00    	call   *0x43f1d4
410ae9:	85 c0                	test   %eax,%eax
410aeb:	78 64                	js     0x410b51
410aed:	8d 8d f4 fd ff ff    	lea    -0x20c(%ebp),%ecx
410af3:	8d 51 02             	lea    0x2(%ecx),%edx
410af6:	66 8b 01             	mov    (%ecx),%ax
410af9:	83 c1 02             	add    $0x2,%ecx
410afc:	66 85 c0             	test   %ax,%ax
410aff:	75 f5                	jne    0x410af6
410b01:	8b 47 14             	mov    0x14(%edi),%eax
410b04:	2b ca                	sub    %edx,%ecx
410b06:	d1 f9                	sar    $1,%ecx
410b08:	3b c8                	cmp    %eax,%ecx
410b0a:	77 28                	ja     0x410b34
410b0c:	8b df                	mov    %edi,%ebx
410b0e:	83 f8 08             	cmp    $0x8,%eax
410b11:	72 02                	jb     0x410b15
410b13:	8b 1f                	mov    (%edi),%ebx
410b15:	8d 34 09             	lea    (%ecx,%ecx,1),%esi
410b18:	89 4f 10             	mov    %ecx,0x10(%edi)
410b1b:	56                   	push   %esi
410b1c:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
410b22:	50                   	push   %eax
410b23:	53                   	push   %ebx
410b24:	e8 27 c9 00 00       	call   0x41d450
410b29:	83 c4 0c             	add    $0xc,%esp
410b2c:	33 c0                	xor    %eax,%eax
410b2e:	66 89 04 1e          	mov    %ax,(%esi,%ebx,1)
410b32:	eb 1b                	jmp    0x410b4f
410b34:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
410b3a:	88 9d ec fd ff ff    	mov    %bl,-0x214(%ebp)
410b40:	50                   	push   %eax
410b41:	ff b5 ec fd ff ff    	push   -0x214(%ebp)
410b47:	51                   	push   %ecx
410b48:	8b cf                	mov    %edi,%ecx
410b4a:	e8 c1 1a ff ff       	call   0x402610
410b4f:	b3 01                	mov    $0x1,%bl
410b51:	8b 57 10             	mov    0x10(%edi),%edx
410b54:	85 d2                	test   %edx,%edx
410b56:	74 1d                	je     0x410b75
410b58:	83 7f 14 08          	cmpl   $0x8,0x14(%edi)
410b5c:	8b c7                	mov    %edi,%eax
410b5e:	72 02                	jb     0x410b62
410b60:	8b 07                	mov    (%edi),%eax
410b62:	66 83 7c 50 fe 5c    	cmpw   $0x5c,-0x2(%eax,%edx,2)
410b68:	75 0b                	jne    0x410b75
410b6a:	6a 00                	push   $0x0
410b6c:	4a                   	dec    %edx
410b6d:	8b cf                	mov    %edi,%ecx
410b6f:	52                   	push   %edx
410b70:	e8 bb 2b 00 00       	call   0x413730
410b75:	8b 4d fc             	mov    -0x4(%ebp),%ecx
410b78:	8a c3                	mov    %bl,%al
410b7a:	5f                   	pop    %edi
410b7b:	5e                   	pop    %esi
410b7c:	33 cd                	xor    %ebp,%ecx
410b7e:	5b                   	pop    %ebx
410b7f:	e8 4c ad 00 00       	call   0x41b8d0
410b84:	8b e5                	mov    %ebp,%esp
410b86:	5d                   	pop    %ebp
410b87:	c3                   	ret
410b88:	cc                   	int3
410b89:	cc                   	int3
410b8a:	cc                   	int3
410b8b:	cc                   	int3
410b8c:	cc                   	int3
410b8d:	cc                   	int3
410b8e:	cc                   	int3
410b8f:	cc                   	int3
410b90:	55                   	push   %ebp
410b91:	8b ec                	mov    %esp,%ebp
410b93:	51                   	push   %ecx
410b94:	53                   	push   %ebx
410b95:	56                   	push   %esi
410b96:	57                   	push   %edi
410b97:	6a 00                	push   $0x0
410b99:	6a 00                	push   $0x0
410b9b:	8b f1                	mov    %ecx,%esi
410b9d:	ff 15 54 f0 43 00    	call   *0x43f054
410ba3:	8b d8                	mov    %eax,%ebx
410ba5:	85 db                	test   %ebx,%ebx
410ba7:	74 37                	je     0x410be0
410ba9:	33 c9                	xor    %ecx,%ecx
410bab:	8d 43 01             	lea    0x1(%ebx),%eax
410bae:	ba 02 00 00 00       	mov    $0x2,%edx
410bb3:	f7 e2                	mul    %edx
410bb5:	0f 90 c1             	seto   %cl
410bb8:	f7 d9                	neg    %ecx
410bba:	0b c8                	or     %eax,%ecx
410bbc:	51                   	push   %ecx
410bbd:	e8 91 5a 01 00       	call   0x426653
410bc2:	8b f8                	mov    %eax,%edi
410bc4:	83 c4 04             	add    $0x4,%esp
410bc7:	85 ff                	test   %edi,%edi
410bc9:	74 15                	je     0x410be0
410bcb:	57                   	push   %edi
410bcc:	53                   	push   %ebx
410bcd:	ff 15 54 f0 43 00    	call   *0x43f054
410bd3:	85 c0                	test   %eax,%eax
410bd5:	75 12                	jne    0x410be9
410bd7:	57                   	push   %edi
410bd8:	e8 70 54 01 00       	call   0x42604d
410bdd:	83 c4 04             	add    $0x4,%esp
410be0:	5f                   	pop    %edi
410be1:	5e                   	pop    %esi
410be2:	32 c0                	xor    %al,%al
410be4:	5b                   	pop    %ebx
410be5:	8b e5                	mov    %ebp,%esp
410be7:	5d                   	pop    %ebp
410be8:	c3                   	ret
410be9:	8b cf                	mov    %edi,%ecx
410beb:	8d 51 02             	lea    0x2(%ecx),%edx
410bee:	66 90                	xchg   %ax,%ax
410bf0:	66 8b 01             	mov    (%ecx),%ax
410bf3:	83 c1 02             	add    $0x2,%ecx
410bf6:	66 85 c0             	test   %ax,%ax
410bf9:	75 f5                	jne    0x410bf0
410bfb:	8b 46 14             	mov    0x14(%esi),%eax
410bfe:	2b ca                	sub    %edx,%ecx
410c00:	d1 f9                	sar    $1,%ecx
410c02:	3b c8                	cmp    %eax,%ecx
410c04:	77 32                	ja     0x410c38
410c06:	8b de                	mov    %esi,%ebx
410c08:	83 f8 08             	cmp    $0x8,%eax
410c0b:	72 02                	jb     0x410c0f
410c0d:	8b 1e                	mov    (%esi),%ebx
410c0f:	89 4e 10             	mov    %ecx,0x10(%esi)
410c12:	8d 34 09             	lea    (%ecx,%ecx,1),%esi
410c15:	56                   	push   %esi
410c16:	57                   	push   %edi
410c17:	53                   	push   %ebx
410c18:	e8 33 c8 00 00       	call   0x41d450
410c1d:	83 c4 0c             	add    $0xc,%esp
410c20:	33 c0                	xor    %eax,%eax
410c22:	66 89 04 1e          	mov    %ax,(%esi,%ebx,1)
410c26:	57                   	push   %edi
410c27:	e8 21 54 01 00       	call   0x42604d
410c2c:	83 c4 04             	add    $0x4,%esp
410c2f:	b0 01                	mov    $0x1,%al
410c31:	5f                   	pop    %edi
410c32:	5e                   	pop    %esi
410c33:	5b                   	pop    %ebx
410c34:	8b e5                	mov    %ebp,%esp
410c36:	5d                   	pop    %ebp
410c37:	c3                   	ret
410c38:	57                   	push   %edi
410c39:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
410c3d:	ff 75 fc             	push   -0x4(%ebp)
410c40:	51                   	push   %ecx
410c41:	8b ce                	mov    %esi,%ecx
410c43:	e8 c8 19 ff ff       	call   0x402610
410c48:	57                   	push   %edi
410c49:	e8 ff 53 01 00       	call   0x42604d
410c4e:	83 c4 04             	add    $0x4,%esp
410c51:	b0 01                	mov    $0x1,%al
410c53:	5f                   	pop    %edi
410c54:	5e                   	pop    %esi
410c55:	5b                   	pop    %ebx