403952:	8b ce                	mov    %esi,%ecx
403954:	e8 67 fe ff ff       	call   0x4037c0
403959:	5f                   	pop    %edi
40395a:	8b c6                	mov    %esi,%eax
40395c:	5e                   	pop    %esi
40395d:	5d                   	pop    %ebp
40395e:	c2 04 00             	ret    $0x4
403961:	cc                   	int3
403962:	cc                   	int3
403963:	cc                   	int3
403964:	cc                   	int3
403965:	cc                   	int3
403966:	cc                   	int3
403967:	cc                   	int3
403968:	cc                   	int3
403969:	cc                   	int3
40396a:	cc                   	int3
40396b:	cc                   	int3
40396c:	cc                   	int3
40396d:	cc                   	int3
40396e:	cc                   	int3
40396f:	cc                   	int3
403970:	55                   	push   %ebp
403971:	8b ec                	mov    %esp,%ebp
403973:	8b 51 10             	mov    0x10(%ecx),%edx
403976:	8b ca                	mov    %edx,%ecx
403978:	56                   	push   %esi
403979:	8b 75 08             	mov    0x8(%ebp),%esi
40397c:	57                   	push   %edi
40397d:	8d 79 01             	lea    0x1(%ecx),%edi
403980:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
403986:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
40398d:	c7 46 14 0f 00 00 00 	movl   $0xf,0x14(%esi)
403994:	c6 06 00             	movb   $0x0,(%esi)
403997:	8a 01                	mov    (%ecx),%al
403999:	41                   	inc    %ecx
40399a:	84 c0                	test   %al,%al
40399c:	75 f9                	jne    0x403997
40399e:	2b cf                	sub    %edi,%ecx
4039a0:	51                   	push   %ecx
4039a1:	52                   	push   %edx
4039a2:	8b ce                	mov    %esi,%ecx
4039a4:	e8 17 fe ff ff       	call   0x4037c0
4039a9:	5f                   	pop    %edi
4039aa:	8b c6                	mov    %esi,%eax
4039ac:	5e                   	pop    %esi
4039ad:	5d                   	pop    %ebp
4039ae:	c2 04 00             	ret    $0x4
4039b1:	cc                   	int3
4039b2:	cc                   	int3
4039b3:	cc                   	int3
4039b4:	cc                   	int3
4039b5:	cc                   	int3
4039b6:	cc                   	int3
4039b7:	cc                   	int3
4039b8:	cc                   	int3
4039b9:	cc                   	int3
4039ba:	cc                   	int3
4039bb:	cc                   	int3
4039bc:	cc                   	int3
4039bd:	cc                   	int3
4039be:	cc                   	int3
4039bf:	cc                   	int3
4039c0:	55                   	push   %ebp
4039c1:	8b ec                	mov    %esp,%ebp
4039c3:	8b 51 08             	mov    0x8(%ecx),%edx
4039c6:	8b ca                	mov    %edx,%ecx
4039c8:	56                   	push   %esi
4039c9:	8b 75 08             	mov    0x8(%ebp),%esi
4039cc:	57                   	push   %edi
4039cd:	8d 79 01             	lea    0x1(%ecx),%edi
4039d0:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
4039d6:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
4039dd:	c7 46 14 0f 00 00 00 	movl   $0xf,0x14(%esi)
4039e4:	c6 06 00             	movb   $0x0,(%esi)
4039e7:	8a 01                	mov    (%ecx),%al
4039e9:	41                   	inc    %ecx
4039ea:	84 c0                	test   %al,%al
4039ec:	75 f9                	jne    0x4039e7
4039ee:	2b cf                	sub    %edi,%ecx
4039f0:	51                   	push   %ecx
4039f1:	52                   	push   %edx
4039f2:	8b ce                	mov    %esi,%ecx
4039f4:	e8 c7 fd ff ff       	call   0x4037c0
4039f9:	5f                   	pop    %edi
4039fa:	8b c6                	mov    %esi,%eax
4039fc:	5e                   	pop    %esi
4039fd:	5d                   	pop    %ebp
4039fe:	c2 04 00             	ret    $0x4
403a01:	cc                   	int3
403a02:	cc                   	int3
403a03:	cc                   	int3
403a04:	cc                   	int3
403a05:	cc                   	int3
403a06:	cc                   	int3
403a07:	cc                   	int3
403a08:	cc                   	int3
403a09:	cc                   	int3
403a0a:	cc                   	int3
403a0b:	cc                   	int3
403a0c:	cc                   	int3
403a0d:	cc                   	int3
403a0e:	cc                   	int3
403a0f:	cc                   	int3
403a10:	8a 41 0d             	mov    0xd(%ecx),%al
403a13:	c3                   	ret
403a14:	cc                   	int3
403a15:	cc                   	int3
403a16:	cc                   	int3
403a17:	cc                   	int3
403a18:	cc                   	int3
403a19:	cc                   	int3
403a1a:	cc                   	int3
403a1b:	cc                   	int3
403a1c:	cc                   	int3
403a1d:	cc                   	int3
403a1e:	cc                   	int3
403a1f:	cc                   	int3
403a20:	8a 41 0c             	mov    0xc(%ecx),%al
403a23:	c3                   	ret
403a24:	cc                   	int3
403a25:	cc                   	int3
403a26:	cc                   	int3
403a27:	cc                   	int3
403a28:	cc                   	int3
403a29:	cc                   	int3
403a2a:	cc                   	int3
403a2b:	cc                   	int3
403a2c:	cc                   	int3
403a2d:	cc                   	int3
403a2e:	cc                   	int3
403a2f:	cc                   	int3
403a30:	55                   	push   %ebp
403a31:	8b ec                	mov    %esp,%ebp
403a33:	56                   	push   %esi
403a34:	8b 75 14             	mov    0x14(%ebp),%esi
403a37:	57                   	push   %edi
403a38:	8b 7d 1c             	mov    0x1c(%ebp),%edi
403a3b:	85 ff                	test   %edi,%edi
403a3d:	74 4a                	je     0x403a89
403a3f:	53                   	push   %ebx
403a40:	8a 5d 18             	mov    0x18(%ebp),%bl
403a43:	85 f6                	test   %esi,%esi
403a45:	74 38                	je     0x403a7f
403a47:	8b 46 20             	mov    0x20(%esi),%eax
403a4a:	83 38 00             	cmpl   $0x0,(%eax)
403a4d:	74 1d                	je     0x403a6c
403a4f:	8b 4e 30             	mov    0x30(%esi),%ecx
403a52:	8b 01                	mov    (%ecx),%eax
403a54:	85 c0                	test   %eax,%eax
403a56:	7e 14                	jle    0x403a6c
403a58:	48                   	dec    %eax
403a59:	89 01                	mov    %eax,(%ecx)
403a5b:	8b 4e 20             	mov    0x20(%esi),%ecx
403a5e:	8b 11                	mov    (%ecx),%edx
403a60:	8d 42 01             	lea    0x1(%edx),%eax
403a63:	89 01                	mov    %eax,(%ecx)
403a65:	88 1a                	mov    %bl,(%edx)
403a67:	0f b6 c3             	movzbl %bl,%eax
403a6a:	eb 0b                	jmp    0x403a77
403a6c:	8b 16                	mov    (%esi),%edx
403a6e:	8b ce                	mov    %esi,%ecx
403a70:	0f b6 c3             	movzbl %bl,%eax
403a73:	50                   	push   %eax
403a74:	ff 52 0c             	call   *0xc(%edx)
403a77:	8b 75 14             	mov    0x14(%ebp),%esi
403a7a:	83 f8 ff             	cmp    $0xffffffff,%eax
403a7d:	75 04                	jne    0x403a83
403a7f:	c6 45 10 01          	movb   $0x1,0x10(%ebp)
403a83:	83 ef 01             	sub    $0x1,%edi
403a86:	75 bb                	jne    0x403a43
403a88:	5b                   	pop    %ebx
403a89:	8b 45 0c             	mov    0xc(%ebp),%eax
403a8c:	8b 4d 10             	mov    0x10(%ebp),%ecx
403a8f:	5f                   	pop    %edi
403a90:	89 70 04             	mov    %esi,0x4(%eax)
403a93:	89 08                	mov    %ecx,(%eax)
403a95:	5e                   	pop    %esi
403a96:	5d                   	pop    %ebp
403a97:	c3                   	ret
403a98:	cc                   	int3
403a99:	cc                   	int3
403a9a:	cc                   	int3
403a9b:	cc                   	int3
403a9c:	cc                   	int3
403a9d:	cc                   	int3
403a9e:	cc                   	int3
403a9f:	cc                   	int3
403aa0:	55                   	push   %ebp
403aa1:	8b ec                	mov    %esp,%ebp
403aa3:	56                   	push   %esi
403aa4:	8b 75 14             	mov    0x14(%ebp),%esi
403aa7:	57                   	push   %edi
403aa8:	8b 7d 1c             	mov    0x1c(%ebp),%edi
403aab:	85 ff                	test   %edi,%edi
403aad:	74 53                	je     0x403b02
403aaf:	53                   	push   %ebx
403ab0:	8b 5d 18             	mov    0x18(%ebp),%ebx
403ab3:	85 f6                	test   %esi,%esi
403ab5:	74 40                	je     0x403af7
403ab7:	8b 46 20             	mov    0x20(%esi),%eax
403aba:	8a 0b                	mov    (%ebx),%cl
403abc:	88 4d 1f             	mov    %cl,0x1f(%ebp)
403abf:	83 38 00             	cmpl   $0x0,(%eax)
403ac2:	74 20                	je     0x403ae4
403ac4:	8b 56 30             	mov    0x30(%esi),%edx
403ac7:	8b 02                	mov    (%edx),%eax
403ac9:	85 c0                	test   %eax,%eax
403acb:	7e 17                	jle    0x403ae4
403acd:	48                   	dec    %eax
403ace:	89 02                	mov    %eax,(%edx)
403ad0:	8b 4e 20             	mov    0x20(%esi),%ecx
403ad3:	8b 11                	mov    (%ecx),%edx
403ad5:	8d 42 01             	lea    0x1(%edx),%eax
403ad8:	89 01                	mov    %eax,(%ecx)
403ada:	8a 45 1f             	mov    0x1f(%ebp),%al
403add:	88 02                	mov    %al,(%edx)
403adf:	0f b6 c0             	movzbl %al,%eax
403ae2:	eb 0b                	jmp    0x403aef
403ae4:	8b 16                	mov    (%esi),%edx
403ae6:	0f b6 c1             	movzbl %cl,%eax
403ae9:	8b ce                	mov    %esi,%ecx
403aeb:	50                   	push   %eax
403aec:	ff 52 0c             	call   *0xc(%edx)
403aef:	8b 75 14             	mov    0x14(%ebp),%esi
403af2:	83 f8 ff             	cmp    $0xffffffff,%eax
403af5:	75 04                	jne    0x403afb
403af7:	c6 45 10 01          	movb   $0x1,0x10(%ebp)
403afb:	43                   	inc    %ebx
403afc:	83 ef 01             	sub    $0x1,%edi
403aff:	75 b2                	jne    0x403ab3
403b01:	5b                   	pop    %ebx
403b02:	8b 45 0c             	mov    0xc(%ebp),%eax
403b05:	8b 4d 10             	mov    0x10(%ebp),%ecx
403b08:	5f                   	pop    %edi
403b09:	89 70 04             	mov    %esi,0x4(%eax)
403b0c:	89 08                	mov    %ecx,(%eax)
403b0e:	5e                   	pop    %esi
403b0f:	5d                   	pop    %ebp
403b10:	c3                   	ret
403b11:	cc                   	int3
403b12:	cc                   	int3
403b13:	cc                   	int3
403b14:	cc                   	int3
403b15:	cc                   	int3
403b16:	cc                   	int3
403b17:	cc                   	int3
403b18:	cc                   	int3
403b19:	cc                   	int3
403b1a:	cc                   	int3
403b1b:	cc                   	int3
403b1c:	cc                   	int3
403b1d:	cc                   	int3
403b1e:	cc                   	int3
403b1f:	cc                   	int3
403b20:	55                   	push   %ebp
403b21:	8b ec                	mov    %esp,%ebp
403b23:	6a ff                	push   $0xffffffff
403b25:	68 05 2c 42 00       	push   $0x422c05
403b2a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
403b30:	50                   	push   %eax
403b31:	83 ec 54             	sub    $0x54,%esp
403b34:	a1 14 30 43 00       	mov    0x433014,%eax
403b39:	33 c5                	xor    %ebp,%eax
403b3b:	89 45 f0             	mov    %eax,-0x10(%ebp)
403b3e:	53                   	push   %ebx
403b3f:	56                   	push   %esi
403b40:	57                   	push   %edi
403b41:	50                   	push   %eax
403b42:	8d 45 f4             	lea    -0xc(%ebp),%eax
403b45:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
403b4b:	8b 7d 24             	mov    0x24(%ebp),%edi
403b4e:	8b 45 0c             	mov    0xc(%ebp),%eax
403b51:	8b 55 18             	mov    0x18(%ebp),%edx
403b54:	8b 4d 20             	mov    0x20(%ebp),%ecx
403b57:	89 45 a4             	mov    %eax,-0x5c(%ebp)
403b5a:	89 55 a8             	mov    %edx,-0x58(%ebp)
403b5d:	89 4d b8             	mov    %ecx,-0x48(%ebp)
403b60:	85 ff                	test   %edi,%edi
403b62:	74 11                	je     0x403b75
403b64:	8a 01                	mov    (%ecx),%al
403b66:	3c 2b                	cmp    $0x2b,%al
403b68:	74 04                	je     0x403b6e
403b6a:	3c 2d                	cmp    $0x2d,%al
403b6c:	75 07                	jne    0x403b75
403b6e:	be 01 00 00 00       	mov    $0x1,%esi
403b73:	eb 02                	jmp    0x403b77
403b75:	33 f6                	xor    %esi,%esi
403b77:	8b 42 14             	mov    0x14(%edx),%eax
403b7a:	25 00 0e 00 00       	and    $0xe00,%eax
403b7f:	89 75 bc             	mov    %esi,-0x44(%ebp)
403b82:	3d 00 08 00 00       	cmp    $0x800,%eax
403b87:	75 20                	jne    0x403ba9
403b89:	8d 46 02             	lea    0x2(%esi),%eax
403b8c:	3b c7                	cmp    %edi,%eax
403b8e:	77 19                	ja     0x403ba9
403b90:	80 3c 31 30          	cmpb   $0x30,(%ecx,%esi,1)
403b94:	75 13                	jne    0x403ba9
403b96:	8a 4c 31 01          	mov    0x1(%ecx,%esi,1),%cl
403b9a:	80 f9 78             	cmp    $0x78,%cl
403b9d:	74 05                	je     0x403ba4
403b9f:	80 f9 58             	cmp    $0x58,%cl
403ba2:	75 05                	jne    0x403ba9
403ba4:	8b f0                	mov    %eax,%esi
403ba6:	89 75 bc             	mov    %esi,-0x44(%ebp)
403ba9:	8b 42 30             	mov    0x30(%edx),%eax
403bac:	8b 58 04             	mov    0x4(%eax),%ebx
403baf:	8b cb                	mov    %ebx,%ecx
403bb1:	89 5d b0             	mov    %ebx,-0x50(%ebp)
403bb4:	8b 03                	mov    (%ebx),%eax
403bb6:	ff 50 04             	call   *0x4(%eax)
403bb9:	8d 45 ac             	lea    -0x54(%ebp),%eax
403bbc:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
403bc3:	50                   	push   %eax
403bc4:	e8 e7 0b 00 00       	call   0x4047b0
403bc9:	83 c4 04             	add    $0x4,%esp
403bcc:	89 45 b0             	mov    %eax,-0x50(%ebp)
403bcf:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
403bd6:	85 db                	test   %ebx,%ebx
403bd8:	74 13                	je     0x403bed
403bda:	8b 03                	mov    (%ebx),%eax
403bdc:	8b cb                	mov    %ebx,%ecx
403bde:	ff 50 08             	call   *0x8(%eax)
403be1:	8b c8                	mov    %eax,%ecx
403be3:	85 c9                	test   %ecx,%ecx
403be5:	74 06                	je     0x403bed
403be7:	8b 01                	mov    (%ecx),%eax
403be9:	6a 01                	push   $0x1
403beb:	ff 10                	call   *(%eax)
403bed:	6a 00                	push   $0x0
403bef:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
403bf6:	8d 4d d8             	lea    -0x28(%ebp),%ecx
403bf9:	57                   	push   %edi
403bfa:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
403c01:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
403c08:	c6 45 d8 00          	movb   $0x0,-0x28(%ebp)
403c0c:	e8 5f 0a 00 00       	call   0x404670
403c11:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
403c18:	8d 45 d8             	lea    -0x28(%ebp),%eax
403c1b:	83 7d ec 10          	cmpl   $0x10,-0x14(%ebp)
403c1f:	8b 4d b8             	mov    -0x48(%ebp),%ecx
403c22:	0f 43 45 d8          	cmovae -0x28(%ebp),%eax
403c26:	8b 5d b0             	mov    -0x50(%ebp),%ebx
403c29:	50                   	push   %eax
403c2a:	8d 04 39             	lea    (%ecx,%edi,1),%eax
403c2d:	50                   	push   %eax
403c2e:	8b 13                	mov    (%ebx),%edx
403c30:	51                   	push   %ecx
403c31:	8b cb                	mov    %ebx,%ecx
403c33:	ff 52 1c             	call   *0x1c(%edx)