408d74:	c7 45 ec 95 00 00 c0 	movl   $0xc0000095,-0x14(%ebp)
408d7b:	8b 75 f0             	mov    -0x10(%ebp),%esi
408d7e:	8b 4d 10             	mov    0x10(%ebp),%ecx
408d81:	8b 45 fc             	mov    -0x4(%ebp),%eax
408d84:	89 59 04             	mov    %ebx,0x4(%ecx)
408d87:	8b 5d ec             	mov    -0x14(%ebp),%ebx
408d8a:	89 01                	mov    %eax,(%ecx)
408d8c:	85 db                	test   %ebx,%ebx
408d8e:	78 2c                	js     0x408dbc
408d90:	33 c0                	xor    %eax,%eax
408d92:	40                   	inc    %eax
408d93:	eb 7e                	jmp    0x408e13
408d95:	c7 45 ec 61 01 00 c0 	movl   $0xc0000161,-0x14(%ebp)
408d9c:	eb dd                	jmp    0x408d7b
408d9e:	6a 2d                	push   $0x2d
408da0:	59                   	pop    %ecx
408da1:	66 39 4d e0          	cmp    %cx,-0x20(%ebp)
408da5:	75 d4                	jne    0x408d7b
408da7:	f7 d8                	neg    %eax
408da9:	89 45 fc             	mov    %eax,-0x4(%ebp)
408dac:	83 d3 00             	adc    $0x0,%ebx
408daf:	f7 db                	neg    %ebx
408db1:	eb c8                	jmp    0x408d7b
408db3:	c7 45 ec 0d 00 00 c0 	movl   $0xc000000d,-0x14(%ebp)
408dba:	eb c2                	jmp    0x408d7e
408dbc:	ff 76 04             	push   0x4(%esi)
408dbf:	68 4b 01 00 00       	push   $0x14b
408dc4:	e8 8a 58 00 00       	call   0x40e653
408dc9:	59                   	pop    %ecx
408dca:	59                   	pop    %ecx
408dcb:	81 fb 61 01 00 c0    	cmp    $0xc0000161,%ebx
408dd1:	75 07                	jne    0x408dda
408dd3:	b8 7b 01 00 00       	mov    $0x17b,%eax
408dd8:	eb 30                	jmp    0x408e0a
408dda:	81 fb 95 00 00 c0    	cmp    $0xc0000095,%ebx
408de0:	75 23                	jne    0x408e05
408de2:	8b 45 08             	mov    0x8(%ebp),%eax
408de5:	23 45 0c             	and    0xc(%ebp),%eax
408de8:	83 f8 ff             	cmp    $0xffffffff,%eax
408deb:	75 07                	jne    0x408df4
408ded:	b8 7e 01 00 00       	mov    $0x17e,%eax
408df2:	eb 16                	jmp    0x408e0a
408df4:	83 7d 08 ff          	cmpl   $0xffffffff,0x8(%ebp)
408df8:	75 0b                	jne    0x408e05
408dfa:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
408dfe:	b8 7d 01 00 00       	mov    $0x17d,%eax
408e03:	74 05                	je     0x408e0a
408e05:	b8 7c 01 00 00       	mov    $0x17c,%eax
408e0a:	50                   	push   %eax
408e0b:	e8 43 58 00 00       	call   0x40e653
408e10:	59                   	pop    %ecx
408e11:	33 c0                	xor    %eax,%eax
408e13:	5f                   	pop    %edi
408e14:	5e                   	pop    %esi
408e15:	5b                   	pop    %ebx
408e16:	c9                   	leave
408e17:	c2 0c 00             	ret    $0xc
408e1a:	8b ff                	mov    %edi,%edi
408e1c:	55                   	push   %ebp
408e1d:	8b ec                	mov    %esp,%ebp
408e1f:	83 e4 f8             	and    $0xfffffff8,%esp
408e22:	83 ec 24             	sub    $0x24,%esp
408e25:	53                   	push   %ebx
408e26:	56                   	push   %esi
408e27:	57                   	push   %edi
408e28:	8b 7d 08             	mov    0x8(%ebp),%edi
408e2b:	8b c2                	mov    %edx,%eax
408e2d:	89 44 24 14          	mov    %eax,0x14(%esp)
408e31:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
408e35:	ff 07                	incl   (%edi)
408e37:	39 0f                	cmp    %ecx,(%edi)
408e39:	0f 8d 78 01 00 00    	jge    0x408fb7
408e3f:	83 64 24 10 00       	andl   $0x0,0x10(%esp)
408e44:	33 db                	xor    %ebx,%ebx
408e46:	39 5d 10             	cmp    %ebx,0x10(%ebp)
408e49:	0f 8e 4b 01 00 00    	jle    0x408f9a
408e4f:	8b 4d 0c             	mov    0xc(%ebp),%ecx
408e52:	8b 34 99             	mov    (%ecx,%ebx,4),%esi
408e55:	8b 0f                	mov    (%edi),%ecx
408e57:	8b 56 04             	mov    0x4(%esi),%edx
408e5a:	8b 0c 88             	mov    (%eax,%ecx,4),%ecx
408e5d:	e8 77 ec ff ff       	call   0x407ad9
408e62:	85 c0                	test   %eax,%eax
408e64:	0f 84 b9 00 00 00    	je     0x408f23
408e6a:	6a 00                	push   $0x0
408e6c:	68 08 02 42 00       	push   $0x420208
408e71:	68 f0 01 42 00       	push   $0x4201f0
408e76:	6a 00                	push   $0x0
408e78:	56                   	push   %esi
408e79:	e8 92 36 01 00       	call   0x41c510
408e7e:	83 c4 14             	add    $0x14,%esp
408e81:	85 c0                	test   %eax,%eax
408e83:	0f 85 f5 00 00 00    	jne    0x408f7e
408e89:	50                   	push   %eax
408e8a:	68 d4 01 42 00       	push   $0x4201d4
408e8f:	68 f0 01 42 00       	push   $0x4201f0
408e94:	50                   	push   %eax
408e95:	56                   	push   %esi
408e96:	e8 75 36 01 00       	call   0x41c510
408e9b:	83 c4 14             	add    $0x14,%esp
408e9e:	89 44 24 1c          	mov    %eax,0x1c(%esp)
408ea2:	85 c0                	test   %eax,%eax
408ea4:	74 20                	je     0x408ec6
408ea6:	8b 0f                	mov    (%edi),%ecx
408ea8:	8d 51 01             	lea    0x1(%ecx),%edx
408eab:	3b 54 24 0c          	cmp    0xc(%esp),%edx
408eaf:	7d 15                	jge    0x408ec6
408eb1:	8b 44 24 14          	mov    0x14(%esp),%eax
408eb5:	8d 54 24 18          	lea    0x18(%esp),%edx
408eb9:	8b 4c 88 04          	mov    0x4(%eax,%ecx,4),%ecx
408ebd:	e8 3e fc ff ff       	call   0x408b00
408ec2:	85 c0                	test   %eax,%eax
408ec4:	75 6c                	jne    0x408f32
408ec6:	6a 00                	push   $0x0
408ec8:	68 b4 01 42 00       	push   $0x4201b4
408ecd:	68 f0 01 42 00       	push   $0x4201f0
408ed2:	6a 00                	push   $0x0
408ed4:	56                   	push   %esi
408ed5:	e8 36 36 01 00       	call   0x41c510
408eda:	83 c4 14             	add    $0x14,%esp
408edd:	89 44 24 1c          	mov    %eax,0x1c(%esp)
408ee1:	85 c0                	test   %eax,%eax
408ee3:	74 3e                	je     0x408f23
408ee5:	8b 07                	mov    (%edi),%eax
408ee7:	8d 48 01             	lea    0x1(%eax),%ecx
408eea:	3b 4c 24 0c          	cmp    0xc(%esp),%ecx
408eee:	7d 33                	jge    0x408f23
408ef0:	8b 4c 24 14          	mov    0x14(%esp),%ecx
408ef4:	83 64 24 20 00       	andl   $0x0,0x20(%esp)
408ef9:	83 64 24 24 00       	andl   $0x0,0x24(%esp)
408efe:	ff 74 81 04          	push   0x4(%ecx,%eax,4)
408f02:	8d 44 24 2c          	lea    0x2c(%esp),%eax
408f06:	50                   	push   %eax
408f07:	ff 15 e4 35 42 00    	call   *0x4235e4
408f0d:	8d 44 24 20          	lea    0x20(%esp),%eax
408f11:	50                   	push   %eax
408f12:	6a ff                	push   $0xffffffff
408f14:	6a ff                	push   $0xffffffff
408f16:	8d 4c 24 34          	lea    0x34(%esp),%ecx
408f1a:	e8 48 fc ff ff       	call   0x408b67
408f1f:	85 c0                	test   %eax,%eax
408f21:	75 33                	jne    0x408f56
408f23:	43                   	inc    %ebx
408f24:	3b 5d 10             	cmp    0x10(%ebp),%ebx
408f27:	7d 6d                	jge    0x408f96
408f29:	8b 44 24 14          	mov    0x14(%esp),%eax
408f2d:	e9 1d ff ff ff       	jmp    0x408e4f
408f32:	ff 74 24 18          	push   0x18(%esp)
408f36:	ff 07                	incl   (%edi)
408f38:	ff 76 04             	push   0x4(%esi)
408f3b:	8b 74 24 24          	mov    0x24(%esp),%esi
408f3f:	c7 44 24 18 01 00 00 	movl   $0x1,0x18(%esp)
408f46:	00
408f47:	8b 76 08             	mov    0x8(%esi),%esi
408f4a:	8b ce                	mov    %esi,%ecx
408f4c:	ff 15 f0 35 42 00    	call   *0x4235f0
408f52:	ff d6                	call   *%esi
408f54:	eb 40                	jmp    0x408f96
408f56:	ff 74 24 24          	push   0x24(%esp)
408f5a:	ff 07                	incl   (%edi)
408f5c:	ff 74 24 24          	push   0x24(%esp)
408f60:	c7 44 24 18 01 00 00 	movl   $0x1,0x18(%esp)
408f67:	00
408f68:	ff 76 04             	push   0x4(%esi)
408f6b:	8b 74 24 28          	mov    0x28(%esp),%esi
408f6f:	8b 76 08             	mov    0x8(%esi),%esi
408f72:	8b ce                	mov    %esi,%ecx
408f74:	ff 15 f0 35 42 00    	call   *0x4235f0
408f7a:	ff d6                	call   *%esi
408f7c:	eb 18                	jmp    0x408f96
408f7e:	ff 76 04             	push   0x4(%esi)
408f81:	8b 70 08             	mov    0x8(%eax),%esi
408f84:	8b ce                	mov    %esi,%ecx
408f86:	c7 44 24 14 01 00 00 	movl   $0x1,0x14(%esp)
408f8d:	00
408f8e:	ff 15 f0 35 42 00    	call   *0x4235f0
408f94:	ff d6                	call   *%esi
408f96:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
408f9a:	83 7c 24 10 00       	cmpl   $0x0,0x10(%esp)
408f9f:	8b 07                	mov    (%edi),%eax
408fa1:	74 11                	je     0x408fb4
408fa3:	40                   	inc    %eax
408fa4:	89 07                	mov    %eax,(%edi)
408fa6:	3b c1                	cmp    %ecx,%eax
408fa8:	8b 44 24 14          	mov    0x14(%esp),%eax
408fac:	0f 8c 8d fe ff ff    	jl     0x408e3f
408fb2:	eb 03                	jmp    0x408fb7
408fb4:	48                   	dec    %eax
408fb5:	89 07                	mov    %eax,(%edi)
408fb7:	5f                   	pop    %edi
408fb8:	5e                   	pop    %esi
408fb9:	5b                   	pop    %ebx
408fba:	8b e5                	mov    %ebp,%esp
408fbc:	5d                   	pop    %ebp
408fbd:	c2 0c 00             	ret    $0xc
408fc0:	6a 18                	push   $0x18
408fc2:	b8 09 ca 41 00       	mov    $0x41ca09,%eax
408fc7:	e8 9f 34 01 00       	call   0x41c46b
408fcc:	8b fa                	mov    %edx,%edi
408fce:	8b f1                	mov    %ecx,%esi
408fd0:	8b 5d 08             	mov    0x8(%ebp),%ebx
408fd3:	6a 0c                	push   $0xc
408fd5:	e8 ce 22 01 00       	call   0x41b2a8
408fda:	59                   	pop    %ecx
408fdb:	89 45 dc             	mov    %eax,-0x24(%ebp)
408fde:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
408fe2:	85 c0                	test   %eax,%eax
408fe4:	74 16                	je     0x408ffc
408fe6:	c7 40 04 40 44 40 00 	movl   $0x404440,0x4(%eax)
408fed:	c7 00 a4 14 40 00    	movl   $0x4014a4,(%eax)
408ff3:	c7 40 08 c0 90 40 00 	movl   $0x4090c0,0x8(%eax)
408ffa:	eb 02                	jmp    0x408ffe
408ffc:	33 c0                	xor    %eax,%eax
408ffe:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
409002:	6a 0c                	push   $0xc
409004:	89 45 e0             	mov    %eax,-0x20(%ebp)
409007:	e8 9c 22 01 00       	call   0x41b2a8
40900c:	59                   	pop    %ecx
40900d:	89 45 dc             	mov    %eax,-0x24(%ebp)
409010:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
409017:	85 c0                	test   %eax,%eax
409019:	74 16                	je     0x409031
40901b:	c7 40 04 4c 44 40 00 	movl   $0x40444c,0x4(%eax)
409022:	c7 00 a4 14 40 00    	movl   $0x4014a4,(%eax)
409028:	c7 40 08 d0 90 40 00 	movl   $0x4090d0,0x8(%eax)
40902f:	eb 02                	jmp    0x409033
409031:	33 c0                	xor    %eax,%eax
409033:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
409037:	6a 0c                	push   $0xc
409039:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40903c:	e8 67 22 01 00       	call   0x41b2a8
409041:	59                   	pop    %ecx
409042:	89 45 dc             	mov    %eax,-0x24(%ebp)
409045:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
40904c:	85 c0                	test   %eax,%eax
40904e:	74 16                	je     0x409066
409050:	c7 40 04 58 44 40 00 	movl   $0x404458,0x4(%eax)
409057:	c7 00 9c 14 40 00    	movl   $0x40149c,(%eax)
40905d:	c7 40 08 e0 90 40 00 	movl   $0x4090e0,0x8(%eax)
409064:	eb 02                	jmp    0x409068
409066:	33 c0                	xor    %eax,%eax
409068:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40906c:	6a 0c                	push   $0xc
40906e:	89 45 e8             	mov    %eax,-0x18(%ebp)
409071:	e8 32 22 01 00       	call   0x41b2a8
409076:	59                   	pop    %ecx
409077:	89 45 dc             	mov    %eax,-0x24(%ebp)
40907a:	c7 45 fc 03 00 00 00 	movl   $0x3,-0x4(%ebp)
409081:	85 c0                	test   %eax,%eax
409083:	74 16                	je     0x40909b
409085:	c7 40 04 68 44 40 00 	movl   $0x404468,0x4(%eax)
40908c:	c7 00 9c 14 40 00    	movl   $0x40149c,(%eax)
409092:	c7 40 08 00 91 40 00 	movl   $0x409100,0x8(%eax)
409099:	eb 02                	jmp    0x40909d
40909b:	33 c0                	xor    %eax,%eax
40909d:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4090a1:	8b d7                	mov    %edi,%edx
4090a3:	89 45 ec             	mov    %eax,-0x14(%ebp)
4090a6:	8b ce                	mov    %esi,%ecx
4090a8:	6a 04                	push   $0x4
4090aa:	8d 45 e0             	lea    -0x20(%ebp),%eax
4090ad:	50                   	push   %eax
4090ae:	53                   	push   %ebx
4090af:	e8 66 fd ff ff       	call   0x408e1a
4090b4:	e8 61 33 01 00       	call   0x41c41a
4090b9:	c2 04 00             	ret    $0x4
4090bc:	cc                   	int3
4090bd:	cc                   	int3
4090be:	cc                   	int3
4090bf:	cc                   	int3
4090c0:	e8 d1 6c 00 00       	call   0x40fd96
4090c5:	c2 04 00             	ret    $0x4
4090c8:	cc                   	int3
4090c9:	cc                   	int3
4090ca:	cc                   	int3
4090cb:	cc                   	int3
4090cc:	cc                   	int3
4090cd:	cc                   	int3
4090ce:	cc                   	int3
4090cf:	cc                   	int3
4090d0:	e8 f3 7f 00 00       	call   0x4110c8
4090d5:	c2 04 00             	ret    $0x4
4090d8:	cc                   	int3
4090d9:	cc                   	int3
4090da:	cc                   	int3
4090db:	cc                   	int3
4090dc:	cc                   	int3
4090dd:	cc                   	int3
4090de:	cc                   	int3
4090df:	cc                   	int3
4090e0:	8b ff                	mov    %edi,%edi
4090e2:	55                   	push   %ebp
4090e3:	8b ec                	mov    %esp,%ebp
4090e5:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4090e8:	33 d2                	xor    %edx,%edx
4090ea:	e8 e1 75 00 00       	call   0x4106d0
4090ef:	5d                   	pop    %ebp
4090f0:	c2 08 00             	ret    $0x8
4090f3:	cc                   	int3
4090f4:	cc                   	int3
4090f5:	cc                   	int3
4090f6:	cc                   	int3
4090f7:	cc                   	int3
4090f8:	cc                   	int3
4090f9:	cc                   	int3
4090fa:	cc                   	int3
4090fb:	cc                   	int3
4090fc:	cc                   	int3
4090fd:	cc                   	int3
4090fe:	cc                   	int3
4090ff:	cc                   	int3
409100:	8b ff                	mov    %edi,%edi
409102:	55                   	push   %ebp
409103:	8b ec                	mov    %esp,%ebp
409105:	8b 4d 0c             	mov    0xc(%ebp),%ecx
409108:	33 d2                	xor    %edx,%edx
40910a:	42                   	inc    %edx
40910b:	e8 c0 75 00 00       	call   0x4106d0
409110:	5d                   	pop    %ebp
409111:	c2 08 00             	ret    $0x8
409114:	6a 38                	push   $0x38
409116:	b8 a6 ca 41 00       	mov    $0x41caa6,%eax
40911b:	e8 4b 33 01 00       	call   0x41c46b
409120:	8b fa                	mov    %edx,%edi
409122:	8b f1                	mov    %ecx,%esi
409124:	8b 5d 08             	mov    0x8(%ebp),%ebx
409127:	6a 0c                	push   $0xc
409129:	e8 7a 21 01 00       	call   0x41b2a8
40912e:	59                   	pop    %ecx
40912f:	89 45 bc             	mov    %eax,-0x44(%ebp)
409132:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
409136:	85 c0                	test   %eax,%eax
409138:	74 16                	je     0x409150
40913a:	c7 40 04 e4 44 40 00 	movl   $0x4044e4,0x4(%eax)
409141:	c7 00 a4 14 40 00    	movl   $0x4014a4,(%eax)
409147:	c7 40 08 c0 93 40 00 	movl   $0x4093c0,0x8(%eax)
40914e:	eb 02                	jmp    0x409152
409150:	33 c0                	xor    %eax,%eax
409152:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
409156:	6a 0c                	push   $0xc
409158:	89 45 c0             	mov    %eax,-0x40(%ebp)
40915b:	e8 48 21 01 00       	call   0x41b2a8
409160:	59                   	pop    %ecx
409161:	89 45 bc             	mov    %eax,-0x44(%ebp)
409164:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
40916b:	85 c0                	test   %eax,%eax
40916d:	74 16                	je     0x409185
40916f:	c7 40 04 04 45 40 00 	movl   $0x404504,0x4(%eax)
409176:	c7 00 a4 14 40 00    	movl   $0x4014a4,(%eax)
40917c:	c7 40 08 e0 93 40 00 	movl   $0x4093e0,0x8(%eax)