41bbc6:	83 3e 00             	cmpl   $0x0,(%esi)
41bbc9:	74 0b                	je     0x41bbd6
41bbcb:	ff 75 0c             	push   0xc(%ebp)
41bbce:	51                   	push   %ecx
41bbcf:	8b cb                	mov    %ebx,%ecx
41bbd1:	e8 5f ff ff ff       	call   0x41bb35
41bbd6:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
41bbda:	76 12                	jbe    0x41bbee
41bbdc:	6a 00                	push   $0x0
41bbde:	ff 76 04             	push   0x4(%esi)
41bbe1:	ff 76 08             	push   0x8(%esi)
41bbe4:	68 5d b3 40 01       	push   $0x140b35d
41bbe9:	e8 00 20 01 00       	call   0x42dbee
41bbee:	83 7e 10 00          	cmpl   $0x0,0x10(%esi)
41bbf2:	75 0c                	jne    0x41bc00
41bbf4:	68 d0 b5 41 00       	push   $0x41b5d0
41bbf9:	8b cb                	mov    %ebx,%ecx
41bbfb:	e8 9f c0 00 00       	call   0x427c9f
41bc00:	5e                   	pop    %esi
41bc01:	5b                   	pop    %ebx
41bc02:	59                   	pop    %ecx
41bc03:	5d                   	pop    %ebp
41bc04:	c2 0c 00             	ret    $0xc
41bc07:	8b ff                	mov    %edi,%edi
41bc09:	55                   	push   %ebp
41bc0a:	8b ec                	mov    %esp,%ebp
41bc0c:	5d                   	pop    %ebp
41bc0d:	e9 53 dc ff ff       	jmp    0x419865
41bc12:	8b ff                	mov    %edi,%edi
41bc14:	55                   	push   %ebp
41bc15:	8b ec                	mov    %esp,%ebp
41bc17:	83 e4 f8             	and    $0xfffffff8,%esp
41bc1a:	56                   	push   %esi
41bc1b:	57                   	push   %edi
41bc1c:	8b f9                	mov    %ecx,%edi
41bc1e:	8b 07                	mov    (%edi),%eax
41bc20:	8b 70 04             	mov    0x4(%eax),%esi
41bc23:	8b ce                	mov    %esi,%ecx
41bc25:	ff 15 20 a5 43 00    	call   *0x43a520
41bc2b:	8b cf                	mov    %edi,%ecx
41bc2d:	ff d6                	call   *%esi
41bc2f:	5f                   	pop    %edi
41bc30:	5e                   	pop    %esi
41bc31:	8b e5                	mov    %ebp,%esp
41bc33:	5d                   	pop    %ebp
41bc34:	c2 04 00             	ret    $0x4
41bc37:	8b ff                	mov    %edi,%edi
41bc39:	55                   	push   %ebp
41bc3a:	8b ec                	mov    %esp,%ebp
41bc3c:	83 e4 f8             	and    $0xfffffff8,%esp
41bc3f:	83 ec 14             	sub    $0x14,%esp
41bc42:	56                   	push   %esi
41bc43:	8b f1                	mov    %ecx,%esi
41bc45:	8b 16                	mov    (%esi),%edx
41bc47:	f6 c2 04             	test   $0x4,%dl
41bc4a:	75 13                	jne    0x41bc5f
41bc4c:	8d 44 24 08          	lea    0x8(%esp),%eax
41bc50:	50                   	push   %eax
41bc51:	e8 79 fc ff ff       	call   0x41b8cf
41bc56:	8b 10                	mov    (%eax),%edx
41bc58:	8b 40 04             	mov    0x4(%eax),%eax
41bc5b:	89 44 24 0c          	mov    %eax,0xc(%esp)
41bc5f:	33 c0                	xor    %eax,%eax
41bc61:	c6 44 24 0c 01       	movb   $0x1,0xc(%esp)
41bc66:	89 44 24 08          	mov    %eax,0x8(%esp)
41bc6a:	89 44 24 10          	mov    %eax,0x10(%esp)
41bc6e:	66 8b 44 24 0c       	mov    0xc(%esp),%ax
41bc73:	51                   	push   %ecx
41bc74:	66 89 44 24 18       	mov    %ax,0x18(%esp)
41bc79:	0f b6 45 08          	movzbl 0x8(%ebp),%eax
41bc7d:	51                   	push   %ecx
41bc7e:	50                   	push   %eax
41bc7f:	8d 44 24 1c          	lea    0x1c(%esp),%eax
41bc83:	50                   	push   %eax
41bc84:	8b c2                	mov    %edx,%eax
41bc86:	8d 4e 08             	lea    0x8(%esi),%ecx
41bc89:	c1 e8 0b             	shr    $0xb,%eax
41bc8c:	83 e0 01             	and    $0x1,%eax
41bc8f:	c1 ea 0a             	shr    $0xa,%edx
41bc92:	50                   	push   %eax
41bc93:	83 e2 01             	and    $0x1,%edx
41bc96:	52                   	push   %edx
41bc97:	e8 07 00 00 00       	call   0x41bca3
41bc9c:	5e                   	pop    %esi
41bc9d:	8b e5                	mov    %ebp,%esp
41bc9f:	5d                   	pop    %ebp
41bca0:	c2 0c 00             	ret    $0xc
41bca3:	8b ff                	mov    %edi,%edi
41bca5:	55                   	push   %ebp
41bca6:	8b ec                	mov    %esp,%ebp
41bca8:	51                   	push   %ecx
41bca9:	8b 55 14             	mov    0x14(%ebp),%edx
41bcac:	56                   	push   %esi
41bcad:	6a 03                	push   $0x3
41bcaf:	8b f1                	mov    %ecx,%esi
41bcb1:	59                   	pop    %ecx
41bcb2:	51                   	push   %ecx
41bcb3:	51                   	push   %ecx
41bcb4:	89 4d fc             	mov    %ecx,-0x4(%ebp)
41bcb7:	e8 3e 08 00 00       	call   0x41c4fa
41bcbc:	50                   	push   %eax
41bcbd:	ff 75 0c             	push   0xc(%ebp)
41bcc0:	8b ce                	mov    %esi,%ecx
41bcc2:	ff 75 08             	push   0x8(%ebp)
41bcc5:	e8 33 00 00 00       	call   0x41bcfd
41bcca:	85 c0                	test   %eax,%eax
41bccc:	74 2a                	je     0x41bcf8
41bcce:	8b 35 6c 91 43 00    	mov    0x43916c,%esi
41bcd4:	85 f6                	test   %esi,%esi
41bcd6:	74 20                	je     0x41bcf8
41bcd8:	6a 01                	push   $0x1
41bcda:	33 c9                	xor    %ecx,%ecx
41bcdc:	8d 45 fc             	lea    -0x4(%ebp),%eax
41bcdf:	51                   	push   %ecx
41bce0:	51                   	push   %ecx
41bce1:	50                   	push   %eax
41bce2:	ff 75 14             	push   0x14(%ebp)
41bce5:	51                   	push   %ecx
41bce6:	ff 75 10             	push   0x10(%ebp)
41bce9:	8b ce                	mov    %esi,%ecx
41bceb:	68 5d b3 40 01       	push   $0x140b35d
41bcf0:	ff 15 20 a5 43 00    	call   *0x43a520
41bcf6:	ff d6                	call   *%esi
41bcf8:	5e                   	pop    %esi
41bcf9:	c9                   	leave
41bcfa:	c2 18 00             	ret    $0x18
41bcfd:	8b ff                	mov    %edi,%edi
41bcff:	55                   	push   %ebp
41bd00:	8b ec                	mov    %esp,%ebp
41bd02:	8b 55 10             	mov    0x10(%ebp),%edx
41bd05:	8d 45 cc             	lea    -0x34(%ebp),%eax
41bd08:	83 ec 38             	sub    $0x38,%esp
41bd0b:	53                   	push   %ebx
41bd0c:	56                   	push   %esi
41bd0d:	57                   	push   %edi
41bd0e:	51                   	push   %ecx
41bd0f:	51                   	push   %ecx
41bd10:	50                   	push   %eax
41bd11:	8b d9                	mov    %ecx,%ebx
41bd13:	e8 8a 06 00 00       	call   0x41c3a2
41bd18:	6a 06                	push   $0x6
41bd1a:	59                   	pop    %ecx
41bd1b:	8b f0                	mov    %eax,%esi
41bd1d:	8d 7d e4             	lea    -0x1c(%ebp),%edi
41bd20:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
41bd22:	8d 45 e4             	lea    -0x1c(%ebp),%eax
41bd25:	50                   	push   %eax
41bd26:	53                   	push   %ebx
41bd27:	8b 5d 10             	mov    0x10(%ebp),%ebx
41bd2a:	8b d3                	mov    %ebx,%edx
41bd2c:	51                   	push   %ecx
41bd2d:	e8 5c fe ff ff       	call   0x41bb8e
41bd32:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
41bd36:	74 1b                	je     0x41bd53
41bd38:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
41bd3c:	74 06                	je     0x41bd44
41bd3e:	81 cb 00 00 00 80    	or     $0x80000000,%ebx
41bd44:	6a 00                	push   $0x0
41bd46:	6a 00                	push   $0x0
41bd48:	53                   	push   %ebx
41bd49:	68 5d b3 40 01       	push   $0x140b35d
41bd4e:	e8 9b 1e 01 00       	call   0x42dbee
41bd53:	33 c0                	xor    %eax,%eax
41bd55:	39 45 f4             	cmp    %eax,-0xc(%ebp)
41bd58:	5f                   	pop    %edi
41bd59:	5e                   	pop    %esi
41bd5a:	0f 94 c0             	sete   %al
41bd5d:	5b                   	pop    %ebx
41bd5e:	c9                   	leave
41bd5f:	c2 14 00             	ret    $0x14
41bd62:	cc                   	int3
41bd63:	cc                   	int3
41bd64:	cc                   	int3
41bd65:	cc                   	int3
41bd66:	cc                   	int3
41bd67:	cc                   	int3
41bd68:	cc                   	int3
41bd69:	cc                   	int3
41bd6a:	cc                   	int3
41bd6b:	cc                   	int3
41bd6c:	cc                   	int3
41bd6d:	cc                   	int3
41bd6e:	cc                   	int3
41bd6f:	cc                   	int3
41bd70:	8b ff                	mov    %edi,%edi
41bd72:	55                   	push   %ebp
41bd73:	8b ec                	mov    %esp,%ebp
41bd75:	56                   	push   %esi
41bd76:	8b 35 3c 8a 43 00    	mov    0x438a3c,%esi
41bd7c:	85 f6                	test   %esi,%esi
41bd7e:	75 1d                	jne    0x41bd9d
41bd80:	68 68 50 40 00       	push   $0x405068
41bd85:	e8 89 2c 01 00       	call   0x42ea13
41bd8a:	50                   	push   %eax
41bd8b:	ff 15 54 a1 43 00    	call   *0x43a154
41bd91:	8b f0                	mov    %eax,%esi
41bd93:	89 35 3c 8a 43 00    	mov    %esi,0x438a3c
41bd99:	85 f6                	test   %esi,%esi
41bd9b:	74 10                	je     0x41bdad
41bd9d:	ff 75 0c             	push   0xc(%ebp)
41bda0:	8b ce                	mov    %esi,%ecx
41bda2:	ff 75 08             	push   0x8(%ebp)
41bda5:	ff 15 20 a5 43 00    	call   *0x43a520
41bdab:	ff d6                	call   *%esi
41bdad:	5e                   	pop    %esi
41bdae:	5d                   	pop    %ebp
41bdaf:	c2 08 00             	ret    $0x8
41bdb2:	8b ff                	mov    %edi,%edi
41bdb4:	56                   	push   %esi
41bdb5:	57                   	push   %edi
41bdb6:	bf ff ff ff 7f       	mov    $0x7fffffff,%edi
41bdbb:	eb 0d                	jmp    0x41bdca
41bdbd:	8d 56 ff             	lea    -0x1(%esi),%edx
41bdc0:	8b c6                	mov    %esi,%eax
41bdc2:	f0 0f b1 11          	lock cmpxchg %edx,(%ecx)
41bdc6:	3b c6                	cmp    %esi,%eax
41bdc8:	74 06                	je     0x41bdd0
41bdca:	8b 31                	mov    (%ecx),%esi
41bdcc:	3b f7                	cmp    %edi,%esi
41bdce:	75 ed                	jne    0x41bdbd
41bdd0:	5f                   	pop    %edi
41bdd1:	8d 46 ff             	lea    -0x1(%esi),%eax
41bdd4:	5e                   	pop    %esi
41bdd5:	c3                   	ret
41bdd6:	8b ff                	mov    %edi,%edi
41bdd8:	55                   	push   %ebp
41bdd9:	8b ec                	mov    %esp,%ebp
41bddb:	83 ec 0c             	sub    $0xc,%esp
41bdde:	56                   	push   %esi
41bddf:	8b f1                	mov    %ecx,%esi
41bde1:	80 3e 00             	cmpb   $0x0,(%esi)
41bde4:	74 53                	je     0x41be39
41bde6:	53                   	push   %ebx
41bde7:	57                   	push   %edi
41bde8:	8d 45 fc             	lea    -0x4(%ebp),%eax
41bdeb:	50                   	push   %eax
41bdec:	8d 4e 04             	lea    0x4(%esi),%ecx
41bdef:	e8 88 28 01 00       	call   0x42e67c
41bdf4:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
41bdf8:	8b 46 10             	mov    0x10(%esi),%eax
41bdfb:	74 27                	je     0x41be24
41bdfd:	39 45 10             	cmp    %eax,0x10(%ebp)
41be00:	75 22                	jne    0x41be24
41be02:	8b 7d 0c             	mov    0xc(%ebp),%edi
41be05:	8d 45 f4             	lea    -0xc(%ebp),%eax
41be08:	8b 5d 08             	mov    0x8(%ebp),%ebx
41be0b:	8d 4e 2c             	lea    0x2c(%esi),%ecx
41be0e:	6a 08                	push   $0x8
41be10:	50                   	push   %eax
41be11:	89 7d f4             	mov    %edi,-0xc(%ebp)
41be14:	89 5d f8             	mov    %ebx,-0x8(%ebp)
41be17:	e8 8b 29 01 00       	call   0x42e7a7
41be1c:	84 c0                	test   %al,%al
41be1e:	75 0f                	jne    0x41be2f
41be20:	57                   	push   %edi
41be21:	53                   	push   %ebx
41be22:	eb 06                	jmp    0x41be2a
41be24:	ff 75 0c             	push   0xc(%ebp)
41be27:	ff 75 08             	push   0x8(%ebp)
41be2a:	e8 fc fb ff ff       	call   0x41ba2b
41be2f:	8d 4d fc             	lea    -0x4(%ebp),%ecx
41be32:	e8 54 94 00 00       	call   0x42528b
41be37:	5f                   	pop    %edi
41be38:	5b                   	pop    %ebx
41be39:	5e                   	pop    %esi
41be3a:	c9                   	leave
41be3b:	c2 0c 00             	ret    $0xc
41be3e:	cc                   	int3
41be3f:	cc                   	int3
41be40:	8b ff                	mov    %edi,%edi
41be42:	55                   	push   %ebp
41be43:	8b ec                	mov    %esp,%ebp
41be45:	56                   	push   %esi
41be46:	8b 35 e8 89 43 00    	mov    0x4389e8,%esi
41be4c:	85 f6                	test   %esi,%esi
41be4e:	75 1d                	jne    0x41be6d
41be50:	68 20 51 40 00       	push   $0x405120
41be55:	e8 b9 2b 01 00       	call   0x42ea13
41be5a:	50                   	push   %eax
41be5b:	ff 15 54 a1 43 00    	call   *0x43a154
41be61:	8b f0                	mov    %eax,%esi
41be63:	89 35 e8 89 43 00    	mov    %esi,0x4389e8
41be69:	85 f6                	test   %esi,%esi
41be6b:	74 0d                	je     0x41be7a
41be6d:	ff 75 08             	push   0x8(%ebp)
41be70:	8b ce                	mov    %esi,%ecx
41be72:	ff 15 20 a5 43 00    	call   *0x43a520
41be78:	ff d6                	call   *%esi
41be7a:	5e                   	pop    %esi
41be7b:	5d                   	pop    %ebp
41be7c:	c2 04 00             	ret    $0x4
41be7f:	8b ff                	mov    %edi,%edi
41be81:	56                   	push   %esi
41be82:	51                   	push   %ecx
41be83:	8b f1                	mov    %ecx,%esi
41be85:	e8 57 d8 ff ff       	call   0x4196e1
41be8a:	ff 76 58             	push   0x58(%esi)
41be8d:	8b ce                	mov    %esi,%ecx
41be8f:	e8 4c cf ff ff       	call   0x418de0
41be94:	5e                   	pop    %esi
41be95:	c3                   	ret
41be96:	cc                   	int3
41be97:	cc                   	int3
41be98:	cc                   	int3
41be99:	cc                   	int3
41be9a:	cc                   	int3
41be9b:	cc                   	int3
41be9c:	cc                   	int3
41be9d:	cc                   	int3
41be9e:	cc                   	int3
41be9f:	cc                   	int3
41bea0:	8b ff                	mov    %edi,%edi
41bea2:	55                   	push   %ebp
41bea3:	8b ec                	mov    %esp,%ebp
41bea5:	83 e4 f8             	and    $0xfffffff8,%esp
41bea8:	8b 45 0c             	mov    0xc(%ebp),%eax
41beab:	83 ec 20             	sub    $0x20,%esp
41beae:	8b d0                	mov    %eax,%edx
41beb0:	25 7f ff ff ff       	and    $0xffffff7f,%eax
41beb5:	c1 ea 07             	shr    $0x7,%edx
41beb8:	83 e2 01             	and    $0x1,%edx
41bebb:	53                   	push   %ebx
41bebc:	33 db                	xor    %ebx,%ebx
41bebe:	57                   	push   %edi
41bebf:	83 f8 03             	cmp    $0x3,%eax
41bec2:	74 09                	je     0x41becd
41bec4:	88 5c 24 0c          	mov    %bl,0xc(%esp)
41bec8:	83 f8 02             	cmp    $0x2,%eax
41becb:	75 05                	jne    0x41bed2
41becd:	c6 44 24 0c 01       	movb   $0x1,0xc(%esp)
41bed2:	6a 06                	push   $0x6
41bed4:	59                   	pop    %ecx
41bed5:	ff 75 10             	push   0x10(%ebp)
41bed8:	33 c0                	xor    %eax,%eax
41beda:	8d 7c 24 14          	lea    0x14(%esp),%edi
41bede:	52                   	push   %edx
41bedf:	ff 74 24 14          	push   0x14(%esp)
41bee3:	8b 55 08             	mov    0x8(%ebp),%edx
41bee6:	f3 ab                	rep stos %eax,%es:(%edi)
41bee8:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
41beec:	e8 5c fb ff ff       	call   0x41ba4d
41bef1:	84 c0                	test   %al,%al
41bef3:	74 04                	je     0x41bef9
41bef5:	8b 5c 24 10          	mov    0x10(%esp),%ebx
41bef9:	83 7c 24 20 00       	cmpl   $0x0,0x20(%esp)
41befe:	74 06                	je     0x41bf06
41bf00:	81 cb 80 00 00 00    	or     $0x80,%ebx
41bf06:	83 7c 24 24 00       	cmpl   $0x0,0x24(%esp)
41bf0b:	74 03                	je     0x41bf10
41bf0d:	83 cb 40             	or     $0x40,%ebx