403e43:	50                   	push   %eax
403e44:	e8 f7 d6 ff ff       	call   0x401540
403e49:	83 c4 08             	add    $0x8,%esp
403e4c:	83 f8 ff             	cmp    $0xffffffff,%eax
403e4f:	75 1d                	jne    0x403e6e
403e51:	68 2c 8a 42 00       	push   $0x428a2c
403e56:	8d 4c 24 18          	lea    0x18(%esp),%ecx
403e5a:	e8 33 11 00 00       	call   0x404f92
403e5f:	68 48 9c 42 00       	push   $0x429c48
403e64:	8d 4c 24 18          	lea    0x18(%esp),%ecx
403e68:	51                   	push   %ecx
403e69:	e8 44 28 00 00       	call   0x4066b2
403e6e:	8b 74 24 08          	mov    0x8(%esp),%esi
403e72:	6a 00                	push   $0x0
403e74:	8d 4c 24 10          	lea    0x10(%esp),%ecx
403e78:	89 35 24 12 c7 00    	mov    %esi,0xc71224
403e7e:	e8 8b 08 00 00       	call   0x40470e
403e83:	8b 46 04             	mov    0x4(%esi),%eax
403e86:	83 f8 ff             	cmp    $0xffffffff,%eax
403e89:	73 04                	jae    0x403e8f
403e8b:	40                   	inc    %eax
403e8c:	89 46 04             	mov    %eax,0x4(%esi)
403e8f:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
403e93:	e8 9e 08 00 00       	call   0x404736
403e98:	56                   	push   %esi
403e99:	e8 13 06 00 00       	call   0x4044b1
403e9e:	83 c4 04             	add    $0x4,%esp
403ea1:	8d 4c 24 10          	lea    0x10(%esp),%ecx
403ea5:	c7 44 24 28 ff ff ff 	movl   $0xffffffff,0x28(%esp)
403eac:	ff
403ead:	e8 84 08 00 00       	call   0x404736
403eb2:	8b 4c 24 20          	mov    0x20(%esp),%ecx
403eb6:	8b c6                	mov    %esi,%eax
403eb8:	5e                   	pop    %esi
403eb9:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
403ec0:	5b                   	pop    %ebx
403ec1:	83 c4 24             	add    $0x24,%esp
403ec4:	c3                   	ret
403ec5:	cc                   	int3
403ec6:	cc                   	int3
403ec7:	cc                   	int3
403ec8:	cc                   	int3
403ec9:	cc                   	int3
403eca:	cc                   	int3
403ecb:	cc                   	int3
403ecc:	cc                   	int3
403ecd:	cc                   	int3
403ece:	cc                   	int3
403ecf:	cc                   	int3
403ed0:	56                   	push   %esi
403ed1:	8b f0                	mov    %eax,%esi
403ed3:	3b f7                	cmp    %edi,%esi
403ed5:	74 13                	je     0x403eea
403ed7:	6a ff                	push   $0xffffffff
403ed9:	6a 00                	push   $0x0
403edb:	53                   	push   %ebx
403edc:	8b ce                	mov    %esi,%ecx
403ede:	e8 4d f2 ff ff       	call   0x403130
403ee3:	83 c6 1c             	add    $0x1c,%esi
403ee6:	3b f7                	cmp    %edi,%esi
403ee8:	75 ed                	jne    0x403ed7
403eea:	5e                   	pop    %esi
403eeb:	c3                   	ret
403eec:	cc                   	int3
403eed:	cc                   	int3
403eee:	cc                   	int3
403eef:	cc                   	int3
403ef0:	51                   	push   %ecx
403ef1:	56                   	push   %esi
403ef2:	8b f0                	mov    %eax,%esi
403ef4:	c6 44 24 04 00       	movb   $0x0,0x4(%esp)
403ef9:	8b 44 24 04          	mov    0x4(%esp),%eax
403efd:	8b 4c 24 04          	mov    0x4(%esp),%ecx
403f01:	8b 54 24 04          	mov    0x4(%esp),%edx
403f05:	50                   	push   %eax
403f06:	51                   	push   %ecx
403f07:	52                   	push   %edx
403f08:	53                   	push   %ebx
403f09:	8b c7                	mov    %edi,%eax
403f0b:	8b ce                	mov    %esi,%ecx
403f0d:	e8 7e 02 00 00       	call   0x404190
403f12:	2b f3                	sub    %ebx,%esi
403f14:	b8 93 24 49 92       	mov    $0x92492493,%eax
403f19:	f7 ee                	imul   %esi
403f1b:	03 d6                	add    %esi,%edx
403f1d:	c1 fa 04             	sar    $0x4,%edx
403f20:	8b c2                	mov    %edx,%eax
403f22:	c1 e8 1f             	shr    $0x1f,%eax
403f25:	03 c2                	add    %edx,%eax
403f27:	8d 0c c5 00 00 00 00 	lea    0x0(,%eax,8),%ecx
403f2e:	2b c8                	sub    %eax,%ecx
403f30:	03 c9                	add    %ecx,%ecx
403f32:	83 c4 10             	add    $0x10,%esp
403f35:	03 c9                	add    %ecx,%ecx
403f37:	8b c7                	mov    %edi,%eax
403f39:	2b c1                	sub    %ecx,%eax
403f3b:	5e                   	pop    %esi
403f3c:	59                   	pop    %ecx
403f3d:	c3                   	ret
403f3e:	cc                   	int3
403f3f:	cc                   	int3
403f40:	8b 44 24 04          	mov    0x4(%esp),%eax
403f44:	56                   	push   %esi
403f45:	50                   	push   %eax
403f46:	8b f1                	mov    %ecx,%esi
403f48:	e8 c5 0f 00 00       	call   0x404f12
403f4d:	c7 06 08 a2 41 00    	movl   $0x41a208,(%esi)
403f53:	8b c6                	mov    %esi,%eax
403f55:	5e                   	pop    %esi
403f56:	c2 04 00             	ret    $0x4
403f59:	cc                   	int3
403f5a:	cc                   	int3
403f5b:	cc                   	int3
403f5c:	cc                   	int3
403f5d:	cc                   	int3
403f5e:	cc                   	int3
403f5f:	cc                   	int3
403f60:	55                   	push   %ebp
403f61:	8b ec                	mov    %esp,%ebp
403f63:	6a ff                	push   $0xffffffff
403f65:	68 61 98 41 00       	push   $0x419861
403f6a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
403f70:	50                   	push   %eax
403f71:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
403f78:	83 ec 10             	sub    $0x10,%esp
403f7b:	53                   	push   %ebx
403f7c:	56                   	push   %esi
403f7d:	8b 75 08             	mov    0x8(%ebp),%esi
403f80:	57                   	push   %edi
403f81:	33 db                	xor    %ebx,%ebx
403f83:	89 65 f0             	mov    %esp,-0x10(%ebp)
403f86:	8b f9                	mov    %ecx,%edi
403f88:	89 75 ec             	mov    %esi,-0x14(%ebp)
403f8b:	89 5d fc             	mov    %ebx,-0x4(%ebp)
403f8e:	8b ff                	mov    %edi,%edi
403f90:	3b fb                	cmp    %ebx,%edi
403f92:	76 54                	jbe    0x403fe8
403f94:	89 75 e8             	mov    %esi,-0x18(%ebp)
403f97:	89 75 e4             	mov    %esi,-0x1c(%ebp)
403f9a:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
403f9e:	3b f3                	cmp    %ebx,%esi
403fa0:	74 1b                	je     0x403fbd
403fa2:	8b 45 0c             	mov    0xc(%ebp),%eax
403fa5:	6a ff                	push   $0xffffffff
403fa7:	53                   	push   %ebx
403fa8:	c7 46 18 0f 00 00 00 	movl   $0xf,0x18(%esi)
403faf:	89 5e 14             	mov    %ebx,0x14(%esi)
403fb2:	50                   	push   %eax
403fb3:	8b ce                	mov    %esi,%ecx
403fb5:	88 5e 04             	mov    %bl,0x4(%esi)
403fb8:	e8 73 f1 ff ff       	call   0x403130
403fbd:	4f                   	dec    %edi
403fbe:	83 c6 1c             	add    $0x1c,%esi
403fc1:	88 5d fc             	mov    %bl,-0x4(%ebp)
403fc4:	89 75 08             	mov    %esi,0x8(%ebp)
403fc7:	eb c7                	jmp    0x403f90
403fc9:	8b 75 ec             	mov    -0x14(%ebp),%esi
403fcc:	8b 7d 08             	mov    0x8(%ebp),%edi
403fcf:	3b f7                	cmp    %edi,%esi
403fd1:	74 0c                	je     0x403fdf
403fd3:	e8 68 00 00 00       	call   0x404040
403fd8:	83 c6 1c             	add    $0x1c,%esi
403fdb:	3b f7                	cmp    %edi,%esi
403fdd:	75 f4                	jne    0x403fd3
403fdf:	33 db                	xor    %ebx,%ebx
403fe1:	53                   	push   %ebx
403fe2:	53                   	push   %ebx
403fe3:	e8 ca 26 00 00       	call   0x4066b2
403fe8:	8b 4d f4             	mov    -0xc(%ebp),%ecx
403feb:	5f                   	pop    %edi
403fec:	5e                   	pop    %esi
403fed:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
403ff4:	5b                   	pop    %ebx
403ff5:	8b e5                	mov    %ebp,%esp
403ff7:	5d                   	pop    %ebp
403ff8:	c2 10 00             	ret    $0x10
403ffb:	cc                   	int3
403ffc:	cc                   	int3
403ffd:	cc                   	int3
403ffe:	cc                   	int3
403fff:	cc                   	int3
404000:	56                   	push   %esi
404001:	8b f0                	mov    %eax,%esi
404003:	3b f7                	cmp    %edi,%esi
404005:	74 30                	je     0x404037
404007:	53                   	push   %ebx
404008:	33 db                	xor    %ebx,%ebx
40400a:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
404010:	83 7e 18 10          	cmpl   $0x10,0x18(%esi)
404014:	72 0c                	jb     0x404022
404016:	8b 46 04             	mov    0x4(%esi),%eax
404019:	50                   	push   %eax
40401a:	e8 17 13 00 00       	call   0x405336
40401f:	83 c4 04             	add    $0x4,%esp
404022:	c7 46 18 0f 00 00 00 	movl   $0xf,0x18(%esi)
404029:	89 5e 14             	mov    %ebx,0x14(%esi)
40402c:	88 5e 04             	mov    %bl,0x4(%esi)
40402f:	83 c6 1c             	add    $0x1c,%esi
404032:	3b f7                	cmp    %edi,%esi
404034:	75 da                	jne    0x404010
404036:	5b                   	pop    %ebx
404037:	5e                   	pop    %esi
404038:	c2 04 00             	ret    $0x4
40403b:	cc                   	int3
40403c:	cc                   	int3
40403d:	cc                   	int3
40403e:	cc                   	int3
40403f:	cc                   	int3
404040:	83 7e 18 10          	cmpl   $0x10,0x18(%esi)
404044:	72 0c                	jb     0x404052
404046:	8b 46 04             	mov    0x4(%esi),%eax
404049:	50                   	push   %eax
40404a:	e8 e7 12 00 00       	call   0x405336
40404f:	83 c4 04             	add    $0x4,%esp
404052:	33 c0                	xor    %eax,%eax
404054:	c7 46 18 0f 00 00 00 	movl   $0xf,0x18(%esi)
40405b:	89 46 14             	mov    %eax,0x14(%esi)
40405e:	88 46 04             	mov    %al,0x4(%esi)
404061:	c3                   	ret
404062:	cc                   	int3
404063:	cc                   	int3
404064:	cc                   	int3
404065:	cc                   	int3
404066:	cc                   	int3
404067:	cc                   	int3
404068:	cc                   	int3
404069:	cc                   	int3
40406a:	cc                   	int3
40406b:	cc                   	int3
40406c:	cc                   	int3
40406d:	cc                   	int3
40406e:	cc                   	int3
40406f:	cc                   	int3
404070:	55                   	push   %ebp
404071:	8b ec                	mov    %esp,%ebp
404073:	6a ff                	push   $0xffffffff
404075:	68 29 99 41 00       	push   $0x419929
40407a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
404080:	50                   	push   %eax
404081:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
404088:	83 ec 3c             	sub    $0x3c,%esp
40408b:	53                   	push   %ebx
40408c:	56                   	push   %esi
40408d:	8b 75 0c             	mov    0xc(%ebp),%esi
404090:	57                   	push   %edi
404091:	33 db                	xor    %ebx,%ebx
404093:	89 65 f0             	mov    %esp,-0x10(%ebp)
404096:	8b f9                	mov    %ecx,%edi
404098:	89 75 ec             	mov    %esi,-0x14(%ebp)
40409b:	c7 45 d0 0f 00 00 00 	movl   $0xf,-0x30(%ebp)
4040a2:	89 5d cc             	mov    %ebx,-0x34(%ebp)
4040a5:	88 5d bc             	mov    %bl,-0x44(%ebp)
4040a8:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4040ab:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4040af:	90                   	nop
4040b0:	3b 7d 08             	cmp    0x8(%ebp),%edi
4040b3:	0f 84 ae 00 00 00    	je     0x404167
4040b9:	89 75 e8             	mov    %esi,-0x18(%ebp)
4040bc:	89 75 e4             	mov    %esi,-0x1c(%ebp)
4040bf:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
4040c3:	3b f3                	cmp    %ebx,%esi
4040c5:	74 1b                	je     0x4040e2
4040c7:	6a ff                	push   $0xffffffff
4040c9:	53                   	push   %ebx
4040ca:	8d 45 b8             	lea    -0x48(%ebp),%eax
4040cd:	c7 46 18 0f 00 00 00 	movl   $0xf,0x18(%esi)
4040d4:	89 5e 14             	mov    %ebx,0x14(%esi)
4040d7:	50                   	push   %eax
4040d8:	8b ce                	mov    %esi,%ecx
4040da:	88 5e 04             	mov    %bl,0x4(%esi)
4040dd:	e8 4e f0 ff ff       	call   0x403130
4040e2:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4040e6:	3b f7                	cmp    %edi,%esi
4040e8:	74 50                	je     0x40413a
4040ea:	8b 5e 10             	mov    0x10(%esi),%ebx
4040ed:	8b 46 04             	mov    0x4(%esi),%eax
4040f0:	8b 4e 08             	mov    0x8(%esi),%ecx
4040f3:	8b 56 0c             	mov    0xc(%esi),%edx
4040f6:	89 5d e0             	mov    %ebx,-0x20(%ebp)
4040f9:	8b 5f 04             	mov    0x4(%edi),%ebx
4040fc:	89 5e 04             	mov    %ebx,0x4(%esi)
4040ff:	8b 5f 08             	mov    0x8(%edi),%ebx
404102:	89 5e 08             	mov    %ebx,0x8(%esi)
404105:	8b 5f 0c             	mov    0xc(%edi),%ebx
404108:	89 5e 0c             	mov    %ebx,0xc(%esi)
40410b:	8b 5f 10             	mov    0x10(%edi),%ebx
40410e:	89 5e 10             	mov    %ebx,0x10(%esi)
404111:	89 47 04             	mov    %eax,0x4(%edi)
404114:	89 4f 08             	mov    %ecx,0x8(%edi)
404117:	8b 4d e0             	mov    -0x20(%ebp),%ecx
40411a:	89 57 0c             	mov    %edx,0xc(%edi)
40411d:	8b 57 14             	mov    0x14(%edi),%edx
404120:	89 4f 10             	mov    %ecx,0x10(%edi)
404123:	8b 46 14             	mov    0x14(%esi),%eax
404126:	89 56 14             	mov    %edx,0x14(%esi)
404129:	8b 4f 18             	mov    0x18(%edi),%ecx
40412c:	89 47 14             	mov    %eax,0x14(%edi)
40412f:	8b 46 18             	mov    0x18(%esi),%eax
404132:	89 4e 18             	mov    %ecx,0x18(%esi)
404135:	89 47 18             	mov    %eax,0x18(%edi)
404138:	33 db                	xor    %ebx,%ebx
40413a:	83 c6 1c             	add    $0x1c,%esi
40413d:	89 75 0c             	mov    %esi,0xc(%ebp)
404140:	83 c7 1c             	add    $0x1c,%edi
404143:	e9 68 ff ff ff       	jmp    0x4040b0
404148:	8b 75 ec             	mov    -0x14(%ebp),%esi
40414b:	8b 7d 0c             	mov    0xc(%ebp),%edi
40414e:	3b f7                	cmp    %edi,%esi
404150:	74 0c                	je     0x40415e
404152:	e8 e9 fe ff ff       	call   0x404040
404157:	83 c6 1c             	add    $0x1c,%esi
40415a:	3b f7                	cmp    %edi,%esi
40415c:	75 f4                	jne    0x404152
40415e:	6a 00                	push   $0x0
404160:	6a 00                	push   $0x0
404162:	e8 4b 25 00 00       	call   0x4066b2
404167:	83 7d d0 10          	cmpl   $0x10,-0x30(%ebp)
40416b:	72 0c                	jb     0x404179
40416d:	8b 55 bc             	mov    -0x44(%ebp),%edx
404170:	52                   	push   %edx
404171:	e8 c0 11 00 00       	call   0x405336
404176:	83 c4 04             	add    $0x4,%esp
404179:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40417c:	5f                   	pop    %edi
40417d:	8b c6                	mov    %esi,%eax
40417f:	5e                   	pop    %esi
404180:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
404187:	5b                   	pop    %ebx
404188:	8b e5                	mov    %ebp,%esp
40418a:	5d                   	pop    %ebp
40418b:	c2 10 00             	ret    $0x10
40418e:	cc                   	int3
40418f:	cc                   	int3
404190:	39 4c 24 04          	cmp    %ecx,0x4(%esp)
404194:	74 66                	je     0x4041fc
404196:	53                   	push   %ebx
404197:	55                   	push   %ebp
404198:	56                   	push   %esi
404199:	57                   	push   %edi
40419a:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
4041a0:	83 e9 1c             	sub    $0x1c,%ecx
4041a3:	83 e8 1c             	sub    $0x1c,%eax
4041a6:	3b c1                	cmp    %ecx,%eax
4041a8:	74 48                	je     0x4041f2
4041aa:	8b 69 04             	mov    0x4(%ecx),%ebp
4041ad:	8b 50 04             	mov    0x4(%eax),%edx
4041b0:	8b 70 08             	mov    0x8(%eax),%esi
4041b3:	8b 78 0c             	mov    0xc(%eax),%edi
4041b6:	8b 58 10             	mov    0x10(%eax),%ebx
4041b9:	89 68 04             	mov    %ebp,0x4(%eax)