404dfa:	77 20                	ja     0x404e1c
404dfc:	39 46 14             	cmp    %eax,0x14(%esi)
404dff:	74 1b                	je     0x404e1c
404e01:	6a 01                	push   $0x1
404e03:	50                   	push   %eax
404e04:	e8 75 10 00 00       	call   0x405e7e
404e09:	84 c0                	test   %al,%al
404e0b:	74 0f                	je     0x404e1c
404e0d:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
404e11:	89 7e 10             	mov    %edi,0x10(%esi)
404e14:	72 02                	jb     0x404e18
404e16:	8b 36                	mov    (%esi),%esi
404e18:	c6 04 3e 00          	movb   $0x0,(%esi,%edi,1)
404e1c:	5f                   	pop    %edi
404e1d:	5e                   	pop    %esi
404e1e:	c2 04 00             	ret    $0x4
404e21:	56                   	push   %esi
404e22:	57                   	push   %edi
404e23:	8b 7c 24 0c          	mov    0xc(%esp),%edi
404e27:	8b f1                	mov    %ecx,%esi
404e29:	57                   	push   %edi
404e2a:	e8 17 10 00 00       	call   0x405e46
404e2f:	84 c0                	test   %al,%al
404e31:	74 1b                	je     0x404e4e
404e33:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
404e37:	72 04                	jb     0x404e3d
404e39:	8b 06                	mov    (%esi),%eax
404e3b:	eb 02                	jmp    0x404e3f
404e3d:	8b c6                	mov    %esi,%eax
404e3f:	ff 74 24 10          	push   0x10(%esp)
404e43:	2b f8                	sub    %eax,%edi
404e45:	57                   	push   %edi
404e46:	56                   	push   %esi
404e47:	e8 c3 11 00 00       	call   0x40600f
404e4c:	eb 57                	jmp    0x404ea5
404e4e:	8b 4e 10             	mov    0x10(%esi),%ecx
404e51:	8b c1                	mov    %ecx,%eax
404e53:	53                   	push   %ebx
404e54:	8b 5c 24 14          	mov    0x14(%esp),%ebx
404e58:	f7 d0                	not    %eax
404e5a:	3b c3                	cmp    %ebx,%eax
404e5c:	76 4c                	jbe    0x404eaa
404e5e:	85 db                	test   %ebx,%ebx
404e60:	74 40                	je     0x404ea2
404e62:	55                   	push   %ebp
404e63:	8d 2c 19             	lea    (%ecx,%ebx,1),%ebp
404e66:	8b ce                	mov    %esi,%ecx
404e68:	6a 00                	push   $0x0
404e6a:	55                   	push   %ebp
404e6b:	e8 0e 10 00 00       	call   0x405e7e
404e70:	84 c0                	test   %al,%al
404e72:	74 2d                	je     0x404ea1
404e74:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
404e78:	72 04                	jb     0x404e7e
404e7a:	8b 06                	mov    (%esi),%eax
404e7c:	eb 02                	jmp    0x404e80
404e7e:	8b c6                	mov    %esi,%eax
404e80:	8b 4e 10             	mov    0x10(%esi),%ecx
404e83:	8b d7                	mov    %edi,%edx
404e85:	53                   	push   %ebx
404e86:	03 c8                	add    %eax,%ecx
404e88:	e8 2b ec ff ff       	call   0x403ab8
404e8d:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
404e91:	59                   	pop    %ecx
404e92:	89 6e 10             	mov    %ebp,0x10(%esi)
404e95:	72 04                	jb     0x404e9b
404e97:	8b 06                	mov    (%esi),%eax
404e99:	eb 02                	jmp    0x404e9d
404e9b:	8b c6                	mov    %esi,%eax
404e9d:	c6 04 28 00          	movb   $0x0,(%eax,%ebp,1)
404ea1:	5d                   	pop    %ebp
404ea2:	8b c6                	mov    %esi,%eax
404ea4:	5b                   	pop    %ebx
404ea5:	5f                   	pop    %edi
404ea6:	5e                   	pop    %esi
404ea7:	c2 08 00             	ret    $0x8
404eaa:	e8 54 d4 ff ff       	call   0x402303
404eaf:	cc                   	int3
404eb0:	53                   	push   %ebx
404eb1:	55                   	push   %ebp
404eb2:	56                   	push   %esi
404eb3:	8b 74 24 10          	mov    0x10(%esp),%esi
404eb7:	33 db                	xor    %ebx,%ebx
404eb9:	57                   	push   %edi
404eba:	8b f9                	mov    %ecx,%edi
404ebc:	6a 0f                	push   $0xf
404ebe:	5d                   	pop    %ebp
404ebf:	89 6f 14             	mov    %ebp,0x14(%edi)
404ec2:	89 5f 10             	mov    %ebx,0x10(%edi)
404ec5:	88 1f                	mov    %bl,(%edi)
404ec7:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
404ecb:	73 15                	jae    0x404ee2
404ecd:	8b 46 10             	mov    0x10(%esi),%eax
404ed0:	83 c0 01             	add    $0x1,%eax
404ed3:	74 13                	je     0x404ee8
404ed5:	50                   	push   %eax
404ed6:	56                   	push   %esi
404ed7:	57                   	push   %edi
404ed8:	e8 63 5f 00 00       	call   0x40ae40
404edd:	83 c4 0c             	add    $0xc,%esp
404ee0:	eb 06                	jmp    0x404ee8
404ee2:	8b 06                	mov    (%esi),%eax
404ee4:	89 07                	mov    %eax,(%edi)
404ee6:	89 1e                	mov    %ebx,(%esi)
404ee8:	8b 46 10             	mov    0x10(%esi),%eax
404eeb:	89 47 10             	mov    %eax,0x10(%edi)
404eee:	8b 46 14             	mov    0x14(%esi),%eax
404ef1:	89 47 14             	mov    %eax,0x14(%edi)
404ef4:	8b c7                	mov    %edi,%eax
404ef6:	89 6e 14             	mov    %ebp,0x14(%esi)
404ef9:	89 5e 10             	mov    %ebx,0x10(%esi)
404efc:	5f                   	pop    %edi
404efd:	88 1e                	mov    %bl,(%esi)
404eff:	5e                   	pop    %esi
404f00:	5d                   	pop    %ebp
404f01:	5b                   	pop    %ebx
404f02:	c2 04 00             	ret    $0x4
404f05:	53                   	push   %ebx
404f06:	56                   	push   %esi
404f07:	8b f1                	mov    %ecx,%esi
404f09:	33 db                	xor    %ebx,%ebx
404f0b:	57                   	push   %edi
404f0c:	8b 7c 24 10          	mov    0x10(%esp),%edi
404f10:	c7 46 14 0f 00 00 00 	movl   $0xf,0x14(%esi)
404f17:	89 5e 10             	mov    %ebx,0x10(%esi)
404f1a:	88 1e                	mov    %bl,(%esi)
404f1c:	83 ff ff             	cmp    $0xffffffff,%edi
404f1f:	74 32                	je     0x404f53
404f21:	53                   	push   %ebx
404f22:	57                   	push   %edi
404f23:	e8 56 0f 00 00       	call   0x405e7e
404f28:	84 c0                	test   %al,%al
404f2a:	74 1f                	je     0x404f4b
404f2c:	ff 74 24 14          	push   0x14(%esp)
404f30:	8b ce                	mov    %esi,%ecx
404f32:	57                   	push   %edi
404f33:	53                   	push   %ebx
404f34:	e8 90 14 00 00       	call   0x4063c9
404f39:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
404f3d:	89 7e 10             	mov    %edi,0x10(%esi)
404f40:	72 04                	jb     0x404f46
404f42:	8b 06                	mov    (%esi),%eax
404f44:	eb 02                	jmp    0x404f48
404f46:	8b c6                	mov    %esi,%eax
404f48:	88 1c 38             	mov    %bl,(%eax,%edi,1)
404f4b:	5f                   	pop    %edi
404f4c:	8b c6                	mov    %esi,%eax
404f4e:	5e                   	pop    %esi
404f4f:	5b                   	pop    %ebx
404f50:	c2 08 00             	ret    $0x8
404f53:	e8 ab d3 ff ff       	call   0x402303
404f58:	cc                   	int3
404f59:	53                   	push   %ebx
404f5a:	56                   	push   %esi
404f5b:	8b f1                	mov    %ecx,%esi
404f5d:	57                   	push   %edi
404f5e:	8b 7c 24 10          	mov    0x10(%esp),%edi
404f62:	8b cf                	mov    %edi,%ecx
404f64:	83 66 10 00          	andl   $0x0,0x10(%esi)
404f68:	c7 46 14 0f 00 00 00 	movl   $0xf,0x14(%esi)
404f6f:	c6 06 00             	movb   $0x0,(%esi)
404f72:	e8 29 eb ff ff       	call   0x403aa0
404f77:	57                   	push   %edi
404f78:	8b ce                	mov    %esi,%ecx
404f7a:	8b d8                	mov    %eax,%ebx
404f7c:	e8 c5 0e 00 00       	call   0x405e46
404f81:	84 c0                	test   %al,%al
404f83:	74 0c                	je     0x404f91
404f85:	53                   	push   %ebx
404f86:	2b fe                	sub    %esi,%edi
404f88:	57                   	push   %edi
404f89:	56                   	push   %esi
404f8a:	e8 a3 0f 00 00       	call   0x405f32
404f8f:	eb 34                	jmp    0x404fc5
404f91:	6a 00                	push   $0x0
404f93:	53                   	push   %ebx
404f94:	e8 e5 0e 00 00       	call   0x405e7e
404f99:	84 c0                	test   %al,%al
404f9b:	74 28                	je     0x404fc5
404f9d:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
404fa1:	72 04                	jb     0x404fa7
404fa3:	8b 0e                	mov    (%esi),%ecx
404fa5:	eb 02                	jmp    0x404fa9
404fa7:	8b ce                	mov    %esi,%ecx
404fa9:	53                   	push   %ebx
404faa:	8b d7                	mov    %edi,%edx
404fac:	e8 07 eb ff ff       	call   0x403ab8
404fb1:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
404fb5:	59                   	pop    %ecx
404fb6:	89 5e 10             	mov    %ebx,0x10(%esi)
404fb9:	72 04                	jb     0x404fbf
404fbb:	8b 06                	mov    (%esi),%eax
404fbd:	eb 02                	jmp    0x404fc1
404fbf:	8b c6                	mov    %esi,%eax
404fc1:	c6 04 18 00          	movb   $0x0,(%eax,%ebx,1)
404fc5:	5f                   	pop    %edi
404fc6:	8b c6                	mov    %esi,%eax
404fc8:	5e                   	pop    %esi
404fc9:	5b                   	pop    %ebx
404fca:	c2 04 00             	ret    $0x4
404fcd:	56                   	push   %esi
404fce:	8b f1                	mov    %ecx,%esi
404fd0:	33 c0                	xor    %eax,%eax
404fd2:	6a ff                	push   $0xffffffff
404fd4:	50                   	push   %eax
404fd5:	ff 74 24 10          	push   0x10(%esp)
404fd9:	c7 46 14 0f 00 00 00 	movl   $0xf,0x14(%esi)
404fe0:	89 46 10             	mov    %eax,0x10(%esi)
404fe3:	88 06                	mov    %al,(%esi)
404fe5:	e8 48 0f 00 00       	call   0x405f32
404fea:	8b c6                	mov    %esi,%eax
404fec:	5e                   	pop    %esi
404fed:	c2 04 00             	ret    $0x4
404ff0:	56                   	push   %esi
404ff1:	8b f1                	mov    %ecx,%esi
404ff3:	8b 46 90             	mov    -0x70(%esi),%eax
404ff6:	8d 4e a0             	lea    -0x60(%esi),%ecx
404ff9:	8b 40 04             	mov    0x4(%eax),%eax
404ffc:	c7 44 30 90 a4 97 43 	movl   $0x4397a4,-0x70(%eax,%esi,1)
405003:	00
405004:	8b 46 90             	mov    -0x70(%esi),%eax
405007:	8b 50 04             	mov    0x4(%eax),%edx
40500a:	8d 42 90             	lea    -0x70(%edx),%eax
40500d:	89 44 32 8c          	mov    %eax,-0x74(%edx,%esi,1)
405011:	e8 15 08 00 00       	call   0x40582b
405016:	8b 46 90             	mov    -0x70(%esi),%eax
405019:	8b 40 04             	mov    0x4(%eax),%eax
40501c:	c7 44 30 90 68 97 43 	movl   $0x439768,-0x70(%eax,%esi,1)
405023:	00
405024:	8b 46 90             	mov    -0x70(%esi),%eax
405027:	8b 48 04             	mov    0x4(%eax),%ecx
40502a:	8d 41 e8             	lea    -0x18(%ecx),%eax
40502d:	89 44 31 8c          	mov    %eax,-0x74(%ecx,%esi,1)
405031:	5e                   	pop    %esi
405032:	c3                   	ret
405033:	51                   	push   %ecx
405034:	51                   	push   %ecx
405035:	53                   	push   %ebx
405036:	55                   	push   %ebp
405037:	56                   	push   %esi
405038:	57                   	push   %edi
405039:	8b f9                	mov    %ecx,%edi
40503b:	33 ed                	xor    %ebp,%ebp
40503d:	8d 77 10             	lea    0x10(%edi),%esi
405040:	39 6e 4c             	cmp    %ebp,0x4c(%esi)
405043:	75 5f                	jne    0x4050a4
405045:	6a 40                	push   $0x40
405047:	6a 21                	push   $0x21
405049:	ff 74 24 24          	push   0x24(%esp)
40504d:	e8 e6 85 02 00       	call   0x42d638
405052:	83 c4 0c             	add    $0xc,%esp
405055:	85 c0                	test   %eax,%eax
405057:	74 4b                	je     0x4050a4
405059:	6a 01                	push   $0x1
40505b:	50                   	push   %eax
40505c:	8b ce                	mov    %esi,%ecx
40505e:	e8 7f 11 00 00       	call   0x4061e2
405063:	8b 46 34             	mov    0x34(%esi),%eax
405066:	8b 48 04             	mov    0x4(%eax),%ecx
405069:	89 4c 24 14          	mov    %ecx,0x14(%esp)
40506d:	8b 01                	mov    (%ecx),%eax
40506f:	ff 50 04             	call   *0x4(%eax)
405072:	8d 44 24 10          	lea    0x10(%esp),%eax
405076:	50                   	push   %eax
405077:	e8 86 16 00 00       	call   0x406702
40507c:	8b d8                	mov    %eax,%ebx
40507e:	59                   	pop    %ecx
40507f:	8b cb                	mov    %ebx,%ecx
405081:	8b 13                	mov    (%ebx),%edx
405083:	ff 52 0c             	call   *0xc(%edx)
405086:	84 c0                	test   %al,%al
405088:	74 05                	je     0x40508f
40508a:	89 6e 38             	mov    %ebp,0x38(%esi)
40508d:	eb 0a                	jmp    0x405099
40508f:	8b ce                	mov    %esi,%ecx
405091:	89 5e 38             	mov    %ebx,0x38(%esi)
405094:	e8 97 13 00 00       	call   0x406430
405099:	8d 4c 24 10          	lea    0x10(%esp),%ecx
40509d:	e8 a8 eb ff ff       	call   0x403c4a
4050a2:	eb 02                	jmp    0x4050a6
4050a4:	8b f5                	mov    %ebp,%esi
4050a6:	8b 0f                	mov    (%edi),%ecx
4050a8:	6a 04                	push   $0x4
4050aa:	5a                   	pop    %edx
4050ab:	03 ca                	add    %edx,%ecx
4050ad:	85 f6                	test   %esi,%esi
4050af:	75 0e                	jne    0x4050bf
4050b1:	51                   	push   %ecx
4050b2:	8b 09                	mov    (%ecx),%ecx
4050b4:	6a 02                	push   $0x2
4050b6:	03 cf                	add    %edi,%ecx
4050b8:	e8 f7 11 00 00       	call   0x4062b4
4050bd:	eb 13                	jmp    0x4050d2
4050bf:	8b 09                	mov    (%ecx),%ecx
4050c1:	33 c0                	xor    %eax,%eax
4050c3:	03 cf                	add    %edi,%ecx
4050c5:	55                   	push   %ebp
4050c6:	39 69 38             	cmp    %ebp,0x38(%ecx)
4050c9:	0f 44 c2             	cmove  %edx,%eax
4050cc:	50                   	push   %eax
4050cd:	e8 78 f0 ff ff       	call   0x40414a
4050d2:	5f                   	pop    %edi
4050d3:	5e                   	pop    %esi
4050d4:	5d                   	pop    %ebp
4050d5:	5b                   	pop    %ebx
4050d6:	59                   	pop    %ecx
4050d7:	59                   	pop    %ecx
4050d8:	c2 0c 00             	ret    $0xc
4050db:	51                   	push   %ecx
4050dc:	53                   	push   %ebx
4050dd:	56                   	push   %esi
4050de:	57                   	push   %edi
4050df:	8b f9                	mov    %ecx,%edi
4050e1:	33 d2                	xor    %edx,%edx
4050e3:	c7 07 60 97 43 00    	movl   $0x439760,(%edi)
4050e9:	8d 77 10             	lea    0x10(%edi),%esi
4050ec:	c7 47 70 50 97 43 00 	movl   $0x439750,0x70(%edi)
4050f3:	a1 64 97 43 00       	mov    0x439764,%eax
4050f8:	c7 04 38 68 97 43 00 	movl   $0x439768,(%eax,%edi,1)
4050ff:	8b 07                	mov    (%edi),%eax
405101:	8b 48 04             	mov    0x4(%eax),%ecx
405104:	51                   	push   %ecx
405105:	56                   	push   %esi
405106:	8d 41 e8             	lea    -0x18(%ecx),%eax
405109:	89 44 39 fc          	mov    %eax,-0x4(%ecx,%edi,1)
40510d:	8b 07                	mov    (%edi),%eax
40510f:	89 57 08             	mov    %edx,0x8(%edi)
405112:	89 57 0c             	mov    %edx,0xc(%edi)
405115:	8b 48 04             	mov    0x4(%eax),%ecx
405118:	03 cf                	add    %edi,%ecx
40511a:	e8 4f 13 00 00       	call   0x40646e
40511f:	8b 07                	mov    (%edi),%eax
405121:	6a 08                	push   $0x8
405123:	8b 40 04             	mov    0x4(%eax),%eax
405126:	c7 04 07 a4 97 43 00 	movl   $0x4397a4,(%edi,%eax,1)
40512d:	8b 07                	mov    (%edi),%eax
40512f:	8b 48 04             	mov    0x4(%eax),%ecx
405132:	8d 41 90             	lea    -0x70(%ecx),%eax
405135:	89 44 39 fc          	mov    %eax,-0x4(%ecx,%edi,1)
405139:	c7 06 a4 96 43 00    	movl   $0x4396a4,(%esi)
40513f:	e8 7c 18 00 00       	call   0x4069c0
405144:	8b d8                	mov    %eax,%ebx
405146:	59                   	pop    %ecx
405147:	85 db                	test   %ebx,%ebx
405149:	74 0d                	je     0x405158
40514b:	6a 01                	push   $0x1
40514d:	e8 5f 81 02 00       	call   0x42d2b1
405152:	59                   	pop    %ecx
405153:	89 43 04             	mov    %eax,0x4(%ebx)
405156:	eb 02                	jmp    0x40515a