405df6:	53                   	push   %ebx
405df7:	8b 5d 08             	mov    0x8(%ebp),%ebx
405dfa:	56                   	push   %esi
405dfb:	8b f1                	mov    %ecx,%esi
405dfd:	57                   	push   %edi
405dfe:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
405e02:	74 26                	je     0x405e2a
405e04:	e8 d7 01 00 00       	call   0x405fe0
405e09:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
405e0d:	74 1b                	je     0x405e2a
405e0f:	8d 45 f8             	lea    -0x8(%ebp),%eax
405e12:	50                   	push   %eax
405e13:	8d 45 f4             	lea    -0xc(%ebp),%eax
405e16:	50                   	push   %eax
405e17:	ff 76 04             	push   0x4(%esi)
405e1a:	ff 15 54 c0 41 00    	call   *0x41c054
405e20:	85 c0                	test   %eax,%eax
405e22:	0f 84 83 00 00 00    	je     0x405eab
405e28:	eb 0b                	jmp    0x405e35
405e2a:	8b ce                	mov    %esi,%ecx
405e2c:	e8 6d 03 00 00       	call   0x40619e
405e31:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
405e35:	8b cb                	mov    %ebx,%ecx
405e37:	e8 c7 f7 ff ff       	call   0x405603
405e3c:	84 c0                	test   %al,%al
405e3e:	74 70                	je     0x405eb0
405e40:	83 c3 04             	add    $0x4,%ebx
405e43:	53                   	push   %ebx
405e44:	ff 15 30 c0 41 00    	call   *0x41c030
405e4a:	50                   	push   %eax
405e4b:	89 45 f8             	mov    %eax,-0x8(%ebp)
405e4e:	e8 43 64 00 00       	call   0x40c296
405e53:	8b f8                	mov    %eax,%edi
405e55:	59                   	pop    %ecx
405e56:	85 ff                	test   %edi,%edi
405e58:	75 07                	jne    0x405e61
405e5a:	68 0e 00 07 80       	push   $0x8007000e
405e5f:	eb 54                	jmp    0x405eb5
405e61:	53                   	push   %ebx
405e62:	57                   	push   %edi
405e63:	ff 75 f8             	push   -0x8(%ebp)
405e66:	ff 15 18 c0 41 00    	call   *0x41c018
405e6c:	85 c0                	test   %eax,%eax
405e6e:	74 2a                	je     0x405e9a
405e70:	6a 00                	push   $0x0
405e72:	57                   	push   %edi
405e73:	ff 76 04             	push   0x4(%esi)
405e76:	ff 15 40 c0 41 00    	call   *0x41c040
405e7c:	85 c0                	test   %eax,%eax
405e7e:	74 1a                	je     0x405e9a
405e80:	ff 75 f4             	push   -0xc(%ebp)
405e83:	e8 f3 63 00 00       	call   0x40c27b
405e88:	59                   	pop    %ecx
405e89:	8b 4d fc             	mov    -0x4(%ebp),%ecx
405e8c:	5f                   	pop    %edi
405e8d:	5e                   	pop    %esi
405e8e:	33 cd                	xor    %ebp,%ecx
405e90:	5b                   	pop    %ebx
405e91:	e8 5f 2d 00 00       	call   0x408bf5
405e96:	c9                   	leave
405e97:	c2 08 00             	ret    $0x8
405e9a:	e8 6b f5 ff ff       	call   0x40540a
405e9f:	57                   	push   %edi
405ea0:	8b f0                	mov    %eax,%esi
405ea2:	e8 d4 63 00 00       	call   0x40c27b
405ea7:	59                   	pop    %ecx
405ea8:	56                   	push   %esi
405ea9:	eb 0a                	jmp    0x405eb5
405eab:	e8 c3 f4 ff ff       	call   0x405373
405eb0:	68 05 40 00 80       	push   $0x80004005
405eb5:	e8 05 b2 ff ff       	call   0x4010bf
405eba:	cc                   	int3
405ebb:	55                   	push   %ebp
405ebc:	8b ec                	mov    %esp,%ebp
405ebe:	83 ec 20             	sub    $0x20,%esp
405ec1:	a1 18 60 42 00       	mov    0x426018,%eax
405ec6:	33 c5                	xor    %ebp,%eax
405ec8:	89 45 fc             	mov    %eax,-0x4(%ebp)
405ecb:	53                   	push   %ebx
405ecc:	8b d9                	mov    %ecx,%ebx
405ece:	56                   	push   %esi
405ecf:	8b 75 08             	mov    0x8(%ebp),%esi
405ed2:	57                   	push   %edi
405ed3:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
405ed7:	89 75 e0             	mov    %esi,-0x20(%ebp)
405eda:	74 05                	je     0x405ee1
405edc:	e8 ff 00 00 00       	call   0x405fe0
405ee1:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
405ee5:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
405ee9:	74 1f                	je     0x405f0a
405eeb:	8d 45 ec             	lea    -0x14(%ebp),%eax
405eee:	50                   	push   %eax
405eef:	8d 45 e4             	lea    -0x1c(%ebp),%eax
405ef2:	50                   	push   %eax
405ef3:	8d 45 e8             	lea    -0x18(%ebp),%eax
405ef6:	50                   	push   %eax
405ef7:	ff 73 04             	push   0x4(%ebx)
405efa:	ff 15 50 c0 41 00    	call   *0x41c050
405f00:	85 c0                	test   %eax,%eax
405f02:	0f 84 c8 00 00 00    	je     0x405fd0
405f08:	eb 07                	jmp    0x405f11
405f0a:	8b cb                	mov    %ebx,%ecx
405f0c:	e8 8d 02 00 00       	call   0x40619e
405f11:	80 7e 08 00          	cmpb   $0x0,0x8(%esi)
405f15:	75 6a                	jne    0x405f81
405f17:	8b 06                	mov    (%esi),%eax
405f19:	8b 70 04             	mov    0x4(%eax),%esi
405f1c:	8b ce                	mov    %esi,%ecx
405f1e:	ff 15 50 c2 41 00    	call   *0x41c250
405f24:	8b 4d e0             	mov    -0x20(%ebp),%ecx
405f27:	ff d6                	call   *%esi
405f29:	8b 75 e0             	mov    -0x20(%ebp),%esi
405f2c:	85 c0                	test   %eax,%eax
405f2e:	74 51                	je     0x405f81
405f30:	8b ce                	mov    %esi,%ecx
405f32:	e8 75 f7 ff ff       	call   0x4056ac
405f37:	85 c0                	test   %eax,%eax
405f39:	0f 84 96 00 00 00    	je     0x405fd5
405f3f:	6a 02                	push   $0x2
405f41:	6a 0c                	push   $0xc
405f43:	8d 4d f0             	lea    -0x10(%ebp),%ecx
405f46:	51                   	push   %ecx
405f47:	50                   	push   %eax
405f48:	ff 15 08 c0 41 00    	call   *0x41c008
405f4e:	85 c0                	test   %eax,%eax
405f50:	74 7e                	je     0x405fd0
405f52:	ff 75 f4             	push   -0xc(%ebp)
405f55:	e8 3c 63 00 00       	call   0x40c296
405f5a:	8b f8                	mov    %eax,%edi
405f5c:	59                   	pop    %ecx
405f5d:	85 ff                	test   %edi,%edi
405f5f:	75 07                	jne    0x405f68
405f61:	68 0e 00 07 80       	push   $0x8007000e
405f66:	eb 72                	jmp    0x405fda
405f68:	ff 75 f4             	push   -0xc(%ebp)
405f6b:	8b ce                	mov    %esi,%ecx
405f6d:	e8 3a f7 ff ff       	call   0x4056ac
405f72:	8b 55 f4             	mov    -0xc(%ebp),%edx
405f75:	8b cf                	mov    %edi,%ecx
405f77:	50                   	push   %eax
405f78:	e8 0f f4 ff ff       	call   0x40538c
405f7d:	59                   	pop    %ecx
405f7e:	59                   	pop    %ecx
405f7f:	eb 02                	jmp    0x405f83
405f81:	33 ff                	xor    %edi,%edi
405f83:	80 7e 08 00          	cmpb   $0x0,0x8(%esi)
405f87:	75 08                	jne    0x405f91
405f89:	85 ff                	test   %edi,%edi
405f8b:	75 04                	jne    0x405f91
405f8d:	33 c0                	xor    %eax,%eax
405f8f:	eb 03                	jmp    0x405f94
405f91:	33 c0                	xor    %eax,%eax
405f93:	40                   	inc    %eax
405f94:	6a 00                	push   $0x0
405f96:	57                   	push   %edi
405f97:	50                   	push   %eax
405f98:	ff 73 04             	push   0x4(%ebx)
405f9b:	ff 15 04 c0 41 00    	call   *0x41c004
405fa1:	85 c0                	test   %eax,%eax
405fa3:	75 11                	jne    0x405fb6
405fa5:	e8 60 f4 ff ff       	call   0x40540a
405faa:	57                   	push   %edi
405fab:	8b f0                	mov    %eax,%esi
405fad:	e8 c9 62 00 00       	call   0x40c27b
405fb2:	59                   	pop    %ecx
405fb3:	56                   	push   %esi
405fb4:	eb 24                	jmp    0x405fda
405fb6:	ff 75 e4             	push   -0x1c(%ebp)
405fb9:	e8 bd 62 00 00       	call   0x40c27b
405fbe:	59                   	pop    %ecx
405fbf:	8b 4d fc             	mov    -0x4(%ebp),%ecx
405fc2:	5f                   	pop    %edi
405fc3:	5e                   	pop    %esi
405fc4:	33 cd                	xor    %ebp,%ecx
405fc6:	5b                   	pop    %ebx
405fc7:	e8 29 2c 00 00       	call   0x408bf5
405fcc:	c9                   	leave
405fcd:	c2 08 00             	ret    $0x8
405fd0:	e8 9e f3 ff ff       	call   0x405373
405fd5:	68 05 40 00 80       	push   $0x80004005
405fda:	e8 e0 b0 ff ff       	call   0x4010bf
405fdf:	cc                   	int3
405fe0:	55                   	push   %ebp
405fe1:	8b ec                	mov    %esp,%ebp
405fe3:	83 ec 28             	sub    $0x28,%esp
405fe6:	a1 18 60 42 00       	mov    0x426018,%eax
405feb:	33 c5                	xor    %ebp,%eax
405fed:	89 45 fc             	mov    %eax,-0x4(%ebp)
405ff0:	57                   	push   %edi
405ff1:	8b f9                	mov    %ecx,%edi
405ff3:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
405ff7:	0f 84 55 01 00 00    	je     0x406152
405ffd:	33 c0                	xor    %eax,%eax
405fff:	66 89 45 f8          	mov    %ax,-0x8(%ebp)
406003:	8d 45 f4             	lea    -0xc(%ebp),%eax
406006:	50                   	push   %eax
406007:	8d 45 f8             	lea    -0x8(%ebp),%eax
40600a:	50                   	push   %eax
40600b:	ff 77 04             	push   0x4(%edi)
40600e:	ff 15 58 c0 41 00    	call   *0x41c058
406014:	85 c0                	test   %eax,%eax
406016:	0f 84 72 01 00 00    	je     0x40618e
40601c:	0f b7 45 f8          	movzwl -0x8(%ebp),%eax
406020:	a9 00 80 00 00       	test   $0x8000,%eax
406025:	0f 84 27 01 00 00    	je     0x406152
40602b:	53                   	push   %ebx
40602c:	56                   	push   %esi
40602d:	33 f6                	xor    %esi,%esi
40602f:	8d 45 f0             	lea    -0x10(%ebp),%eax
406032:	50                   	push   %eax
406033:	56                   	push   %esi
406034:	8d 45 ec             	lea    -0x14(%ebp),%eax
406037:	89 75 e4             	mov    %esi,-0x1c(%ebp)
40603a:	50                   	push   %eax
40603b:	56                   	push   %esi
40603c:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40603f:	89 75 e8             	mov    %esi,-0x18(%ebp)
406042:	50                   	push   %eax
406043:	56                   	push   %esi
406044:	8d 45 e8             	lea    -0x18(%ebp),%eax
406047:	89 75 f0             	mov    %esi,-0x10(%ebp)
40604a:	50                   	push   %eax
40604b:	56                   	push   %esi
40604c:	8d 45 e0             	lea    -0x20(%ebp),%eax
40604f:	89 75 ec             	mov    %esi,-0x14(%ebp)
406052:	50                   	push   %eax
406053:	56                   	push   %esi
406054:	ff 77 04             	push   0x4(%edi)
406057:	89 75 e0             	mov    %esi,-0x20(%ebp)
40605a:	ff 15 3c c0 41 00    	call   *0x41c03c
406060:	ff 15 48 c1 41 00    	call   *0x41c148
406066:	83 f8 7a             	cmp    $0x7a,%eax
406069:	0f 85 29 01 00 00    	jne    0x406198
40606f:	ff 75 e0             	push   -0x20(%ebp)
406072:	e8 1f 62 00 00       	call   0x40c296
406077:	59                   	pop    %ecx
406078:	89 45 dc             	mov    %eax,-0x24(%ebp)
40607b:	39 75 ec             	cmp    %esi,-0x14(%ebp)
40607e:	74 0e                	je     0x40608e
406080:	ff 75 ec             	push   -0x14(%ebp)
406083:	e8 0e 62 00 00       	call   0x40c296
406088:	59                   	pop    %ecx
406089:	89 45 d8             	mov    %eax,-0x28(%ebp)
40608c:	eb 03                	jmp    0x406091
40608e:	89 75 d8             	mov    %esi,-0x28(%ebp)
406091:	39 75 f0             	cmp    %esi,-0x10(%ebp)
406094:	74 0d                	je     0x4060a3
406096:	ff 75 f0             	push   -0x10(%ebp)
406099:	e8 f8 61 00 00       	call   0x40c296
40609e:	59                   	pop    %ecx
40609f:	8b d8                	mov    %eax,%ebx
4060a1:	eb 02                	jmp    0x4060a5
4060a3:	8b de                	mov    %esi,%ebx
4060a5:	8b 45 e8             	mov    -0x18(%ebp),%eax
4060a8:	85 c0                	test   %eax,%eax
4060aa:	74 0f                	je     0x4060bb
4060ac:	50                   	push   %eax
4060ad:	e8 e4 61 00 00       	call   0x40c296
4060b2:	89 45 f4             	mov    %eax,-0xc(%ebp)
4060b5:	8b 45 e8             	mov    -0x18(%ebp),%eax
4060b8:	59                   	pop    %ecx
4060b9:	eb 03                	jmp    0x4060be
4060bb:	89 75 f4             	mov    %esi,-0xc(%ebp)
4060be:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
4060c1:	85 c9                	test   %ecx,%ecx
4060c3:	74 0f                	je     0x4060d4
4060c5:	51                   	push   %ecx
4060c6:	e8 cb 61 00 00       	call   0x40c296
4060cb:	59                   	pop    %ecx
4060cc:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
4060cf:	8b f0                	mov    %eax,%esi
4060d1:	8b 45 e8             	mov    -0x18(%ebp),%eax
4060d4:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
4060d8:	0f 84 81 00 00 00    	je     0x40615f
4060de:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
4060e2:	8b 55 d8             	mov    -0x28(%ebp),%edx
4060e5:	74 04                	je     0x4060eb
4060e7:	85 d2                	test   %edx,%edx
4060e9:	74 74                	je     0x40615f
4060eb:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
4060ef:	74 04                	je     0x4060f5
4060f1:	85 db                	test   %ebx,%ebx
4060f3:	74 6a                	je     0x40615f
4060f5:	85 c0                	test   %eax,%eax
4060f7:	8b 45 f4             	mov    -0xc(%ebp),%eax
4060fa:	74 04                	je     0x406100
4060fc:	85 c0                	test   %eax,%eax
4060fe:	74 5f                	je     0x40615f
406100:	85 c9                	test   %ecx,%ecx
406102:	74 04                	je     0x406108
406104:	85 f6                	test   %esi,%esi
406106:	74 57                	je     0x40615f
406108:	8d 4d f0             	lea    -0x10(%ebp),%ecx
40610b:	51                   	push   %ecx
40610c:	53                   	push   %ebx
40610d:	8d 4d ec             	lea    -0x14(%ebp),%ecx
406110:	51                   	push   %ecx
406111:	52                   	push   %edx
406112:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
406115:	51                   	push   %ecx
406116:	56                   	push   %esi
406117:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40611a:	51                   	push   %ecx
40611b:	50                   	push   %eax
40611c:	8d 45 e0             	lea    -0x20(%ebp),%eax
40611f:	50                   	push   %eax
406120:	ff 75 dc             	push   -0x24(%ebp)
406123:	ff 77 04             	push   0x4(%edi)
406126:	ff 15 3c c0 41 00    	call   *0x41c03c
40612c:	85 c0                	test   %eax,%eax
40612e:	75 09                	jne    0x406139
406130:	e8 d5 f2 ff ff       	call   0x40540a
406135:	8b f8                	mov    %eax,%edi
406137:	eb 2b                	jmp    0x406164
406139:	8b 07                	mov    (%edi),%eax
40613b:	8b 70 04             	mov    0x4(%eax),%esi
40613e:	8b ce                	mov    %esi,%ecx
406140:	ff 15 50 c2 41 00    	call   *0x41c250
406146:	8b cf                	mov    %edi,%ecx
406148:	ff d6                	call   *%esi
40614a:	8b 45 dc             	mov    -0x24(%ebp),%eax
40614d:	5e                   	pop    %esi
40614e:	89 47 04             	mov    %eax,0x4(%edi)
406151:	5b                   	pop    %ebx
406152:	8b 4d fc             	mov    -0x4(%ebp),%ecx
406155:	33 cd                	xor    %ebp,%ecx
406157:	5f                   	pop    %edi
406158:	e8 98 2a 00 00       	call   0x408bf5
40615d:	c9                   	leave
40615e:	c3                   	ret
40615f:	bf 0e 00 07 80       	mov    $0x8007000e,%edi
406164:	ff 75 dc             	push   -0x24(%ebp)
406167:	e8 0f 61 00 00       	call   0x40c27b
40616c:	ff 75 d8             	push   -0x28(%ebp)
40616f:	e8 07 61 00 00       	call   0x40c27b
406174:	53                   	push   %ebx
406175:	e8 01 61 00 00       	call   0x40c27b
40617a:	ff 75 f4             	push   -0xc(%ebp)
40617d:	e8 f9 60 00 00       	call   0x40c27b
406182:	56                   	push   %esi
406183:	e8 f3 60 00 00       	call   0x40c27b
406188:	83 c4 14             	add    $0x14,%esp
40618b:	57                   	push   %edi
40618c:	eb 05                	jmp    0x406193
40618e:	68 05 40 00 80       	push   $0x80004005
406193:	e8 27 af ff ff       	call   0x4010bf
406198:	e8 d6 f1 ff ff       	call   0x405373
40619d:	cc                   	int3
40619e:	56                   	push   %esi
40619f:	57                   	push   %edi