403cab:	89 75 a8             	mov    %esi,-0x58(%ebp)
403cae:	e8 e6 4d 00 00       	call   0x408a99
403cb3:	8b 45 d4             	mov    -0x2c(%ebp),%eax
403cb6:	0d 00 10 00 00       	or     $0x1000,%eax
403cbb:	89 45 d4             	mov    %eax,-0x2c(%ebp)
403cbe:	89 45 a4             	mov    %eax,-0x5c(%ebp)
403cc1:	8b 7d cc             	mov    -0x34(%ebp),%edi
403cc4:	eb 06                	jmp    0x403ccc
403cc6:	8b 7d cc             	mov    -0x34(%ebp),%edi
403cc9:	8b 75 d0             	mov    -0x30(%ebp),%esi
403ccc:	83 7d c0 00          	cmpl   $0x0,-0x40(%ebp)
403cd0:	0f 84 c7 fd ff ff    	je     0x403a9d
403cd6:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
403cda:	6a 00                	push   $0x0
403cdc:	ff 15 74 20 41 00    	call   *0x412074
403ce2:	8b c6                	mov    %esi,%eax
403ce4:	eb 1c                	jmp    0x403d02
403ce6:	68 0e 00 07 80       	push   $0x8007000e
403ceb:	ff 15 74 20 41 00    	call   *0x412074
403cf1:	e8 fe 5a 00 00       	call   0x4097f4
403cf6:	b8 fc 3c 40 00       	mov    $0x403cfc,%eax
403cfb:	c3                   	ret
403cfc:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
403d00:	33 c0                	xor    %eax,%eax
403d02:	e8 06 b6 00 00       	call   0x40f30d
403d07:	c3                   	ret
403d08:	6a 08                	push   $0x8
403d0a:	b8 f9 f5 40 00       	mov    $0x40f5f9,%eax
403d0f:	e8 3b b6 00 00       	call   0x40f34f
403d14:	8b f1                	mov    %ecx,%esi
403d16:	8d 4d ec             	lea    -0x14(%ebp),%ecx
403d19:	ff 15 f8 21 41 00    	call   *0x4121f8
403d1f:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
403d23:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
403d27:	bb 8d 13 00 00       	mov    $0x138d,%ebx
403d2c:	8b cb                	mov    %ebx,%ecx
403d2e:	e8 1e 5d 00 00       	call   0x409a51
403d33:	50                   	push   %eax
403d34:	8d 45 ec             	lea    -0x14(%ebp),%eax
403d37:	50                   	push   %eax
403d38:	ba 80 14 40 00       	mov    $0x401480,%edx
403d3d:	8b 4d 0c             	mov    0xc(%ebp),%ecx
403d40:	e8 7d 3e 00 00       	call   0x407bc2
403d45:	51                   	push   %ecx
403d46:	ff 75 ec             	push   -0x14(%ebp)
403d49:	6a 10                	push   $0x10
403d4b:	8b 7d 08             	mov    0x8(%ebp),%edi
403d4e:	8b d7                	mov    %edi,%edx
403d50:	8b 8e 80 00 00 00    	mov    0x80(%esi),%ecx
403d56:	e8 8f 55 00 00       	call   0x4092ea
403d5b:	ff b6 84 00 00 00    	push   0x84(%esi)
403d61:	6a 02                	push   $0x2
403d63:	8b d7                	mov    %edi,%edx
403d65:	8b 8e 80 00 00 00    	mov    0x80(%esi),%ecx
403d6b:	e8 aa 55 00 00       	call   0x40931a
403d70:	8b cb                	mov    %ebx,%ecx
403d72:	e8 da 5c 00 00       	call   0x409a51
403d77:	50                   	push   %eax
403d78:	8d 45 ec             	lea    -0x14(%ebp),%eax
403d7b:	50                   	push   %eax
403d7c:	ba 90 14 40 00       	mov    $0x401490,%edx
403d81:	8b 4d 0c             	mov    0xc(%ebp),%ecx
403d84:	e8 39 3e 00 00       	call   0x407bc2
403d89:	51                   	push   %ecx
403d8a:	ff 75 ec             	push   -0x14(%ebp)
403d8d:	6a 00                	push   $0x0
403d8f:	8b d7                	mov    %edi,%edx
403d91:	8b 8e 80 00 00 00    	mov    0x80(%esi),%ecx
403d97:	e8 4e 55 00 00       	call   0x4092ea
403d9c:	8d 9e 88 00 00 00    	lea    0x88(%esi),%ebx
403da2:	b9 8d 13 00 00       	mov    $0x138d,%ecx
403da7:	e8 a5 5c 00 00       	call   0x409a51
403dac:	50                   	push   %eax
403dad:	53                   	push   %ebx
403dae:	ba 08 14 40 00       	mov    $0x401408,%edx
403db3:	8b 4d 0c             	mov    0xc(%ebp),%ecx
403db6:	e8 07 3e 00 00       	call   0x407bc2
403dbb:	83 7e 70 00          	cmpl   $0x0,0x70(%esi)
403dbf:	74 39                	je     0x403dfa
403dc1:	51                   	push   %ecx
403dc2:	ff 76 78             	push   0x78(%esi)
403dc5:	6a 0c                	push   $0xc
403dc7:	8b d7                	mov    %edi,%edx
403dc9:	8b 8e 80 00 00 00    	mov    0x80(%esi),%ecx
403dcf:	e8 16 55 00 00       	call   0x4092ea
403dd4:	68 a0 14 40 00       	push   $0x4014a0
403dd9:	8b cb                	mov    %ebx,%ecx
403ddb:	ff 15 44 22 41 00    	call   *0x412244
403de1:	8d 46 7c             	lea    0x7c(%esi),%eax
403de4:	50                   	push   %eax
403de5:	8b cb                	mov    %ebx,%ecx
403de7:	ff 15 fc 21 41 00    	call   *0x4121fc
403ded:	68 a8 14 40 00       	push   $0x4014a8
403df2:	8b cb                	mov    %ebx,%ecx
403df4:	ff 15 44 22 41 00    	call   *0x412244
403dfa:	51                   	push   %ecx
403dfb:	ff 33                	push   (%ebx)
403dfd:	6a 01                	push   $0x1
403dff:	8b d7                	mov    %edi,%edx
403e01:	8b 8e 80 00 00 00    	mov    0x80(%esi),%ecx
403e07:	e8 de 54 00 00       	call   0x4092ea
403e0c:	8b 5d 0c             	mov    0xc(%ebp),%ebx
403e0f:	53                   	push   %ebx
403e10:	57                   	push   %edi
403e11:	8b ce                	mov    %esi,%ecx
403e13:	e8 5a 03 00 00       	call   0x404172
403e18:	53                   	push   %ebx
403e19:	57                   	push   %edi
403e1a:	8b ce                	mov    %esi,%ecx
403e1c:	e8 8c 05 00 00       	call   0x4043ad
403e21:	53                   	push   %ebx
403e22:	57                   	push   %edi
403e23:	8b ce                	mov    %esi,%ecx
403e25:	e8 c3 06 00 00       	call   0x4044ed
403e2a:	53                   	push   %ebx
403e2b:	57                   	push   %edi
403e2c:	8b ce                	mov    %esi,%ecx
403e2e:	e8 57 00 00 00       	call   0x403e8a
403e33:	57                   	push   %edi
403e34:	8b ce                	mov    %esi,%ecx
403e36:	e8 44 04 00 00       	call   0x40427f
403e3b:	57                   	push   %edi
403e3c:	8b ce                	mov    %esi,%ecx
403e3e:	e8 60 08 00 00       	call   0x4046a3
403e43:	57                   	push   %edi
403e44:	8b ce                	mov    %esi,%ecx
403e46:	e8 49 0b 00 00       	call   0x404994
403e4b:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
403e4f:	8d 4d ec             	lea    -0x14(%ebp),%ecx
403e52:	ff 15 30 22 41 00    	call   *0x412230
403e58:	33 c0                	xor    %eax,%eax
403e5a:	40                   	inc    %eax
403e5b:	eb 25                	jmp    0x403e82
403e5d:	68 0e 00 07 80       	push   $0x8007000e
403e62:	ff 15 74 20 41 00    	call   *0x412074
403e68:	e8 87 59 00 00       	call   0x4097f4
403e6d:	b8 73 3e 40 00       	mov    $0x403e73,%eax
403e72:	c3                   	ret
403e73:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
403e77:	8d 4d ec             	lea    -0x14(%ebp),%ecx
403e7a:	ff 15 30 22 41 00    	call   *0x412230
403e80:	33 c0                	xor    %eax,%eax
403e82:	e8 72 b4 00 00       	call   0x40f2f9
403e87:	c2 08 00             	ret    $0x8
403e8a:	6a 20                	push   $0x20
403e8c:	b8 5a f6 40 00       	mov    $0x40f65a,%eax
403e91:	e8 b9 b4 00 00       	call   0x40f34f
403e96:	8b f9                	mov    %ecx,%edi
403e98:	8d 4d ec             	lea    -0x14(%ebp),%ecx
403e9b:	ff 15 f8 21 41 00    	call   *0x4121f8
403ea1:	33 db                	xor    %ebx,%ebx
403ea3:	89 5d fc             	mov    %ebx,-0x4(%ebp)
403ea6:	8d 4d dc             	lea    -0x24(%ebp),%ecx
403ea9:	ff 15 f8 21 41 00    	call   *0x4121f8
403eaf:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
403eb3:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
403eb6:	ff 15 f8 21 41 00    	call   *0x4121f8
403ebc:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
403ec0:	8d 4d e8             	lea    -0x18(%ebp),%ecx
403ec3:	ff 15 f8 21 41 00    	call   *0x4121f8
403ec9:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
403ecd:	89 5d e0             	mov    %ebx,-0x20(%ebp)
403ed0:	51                   	push   %ecx
403ed1:	be 8d 13 00 00       	mov    $0x138d,%esi
403ed6:	8b ce                	mov    %esi,%ecx
403ed8:	e8 74 5b 00 00       	call   0x409a51
403edd:	50                   	push   %eax
403ede:	6a 07                	push   $0x7
403ee0:	8b 55 08             	mov    0x8(%ebp),%edx
403ee3:	8b 8f 80 00 00 00    	mov    0x80(%edi),%ecx
403ee9:	e8 fc 53 00 00       	call   0x4092ea
403eee:	39 5f 48             	cmp    %ebx,0x48(%edi)
403ef1:	0f 84 40 02 00 00    	je     0x404137
403ef7:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
403efb:	8b ce                	mov    %esi,%ecx
403efd:	e8 4f 5b 00 00       	call   0x409a51
403f02:	50                   	push   %eax
403f03:	8d 4d ec             	lea    -0x14(%ebp),%ecx
403f06:	ff 15 2c 22 41 00    	call   *0x41222c
403f0c:	8d 45 e8             	lea    -0x18(%ebp),%eax
403f0f:	50                   	push   %eax
403f10:	8d 45 e4             	lea    -0x1c(%ebp),%eax
403f13:	50                   	push   %eax
403f14:	8b cf                	mov    %edi,%ecx
403f16:	e8 6d 22 00 00       	call   0x406188
403f1b:	83 f8 01             	cmp    $0x1,%eax
403f1e:	0f 84 fd 00 00 00    	je     0x404021
403f24:	8b ce                	mov    %esi,%ecx
403f26:	e8 26 5b 00 00       	call   0x409a51
403f2b:	50                   	push   %eax
403f2c:	8d 45 dc             	lea    -0x24(%ebp),%eax
403f2f:	50                   	push   %eax
403f30:	ba 80 14 40 00       	mov    $0x401480,%edx
403f35:	8b 4d 0c             	mov    0xc(%ebp),%ecx
403f38:	e8 85 3c 00 00       	call   0x407bc2
403f3d:	85 c0                	test   %eax,%eax
403f3f:	0f 84 f2 01 00 00    	je     0x404137
403f45:	8d 4d dc             	lea    -0x24(%ebp),%ecx
403f48:	ff 15 38 22 41 00    	call   *0x412238
403f4e:	8b 40 04             	mov    0x4(%eax),%eax
403f51:	85 c0                	test   %eax,%eax
403f53:	0f 84 de 01 00 00    	je     0x404137
403f59:	68 b8 14 40 00       	push   $0x4014b8
403f5e:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
403f61:	e8 73 1a 00 00       	call   0x4059d9
403f66:	8b f0                	mov    %eax,%esi
403f68:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
403f6c:	ff 75 dc             	push   -0x24(%ebp)
403f6f:	8d 4d d8             	lea    -0x28(%ebp),%ecx
403f72:	e8 62 1a 00 00       	call   0x4059d9
403f77:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
403f7b:	8b 0e                	mov    (%esi),%ecx
403f7d:	85 c9                	test   %ecx,%ecx
403f7f:	74 04                	je     0x403f85
403f81:	8b 11                	mov    (%ecx),%edx
403f83:	eb 02                	jmp    0x403f87
403f85:	8b d3                	mov    %ebx,%edx
403f87:	8b 00                	mov    (%eax),%eax
403f89:	85 c0                	test   %eax,%eax
403f8b:	74 04                	je     0x403f91
403f8d:	8b 08                	mov    (%eax),%ecx
403f8f:	eb 02                	jmp    0x403f93
403f91:	8b cb                	mov    %ebx,%ecx
403f93:	8b 47 04             	mov    0x4(%edi),%eax
403f96:	8b 30                	mov    (%eax),%esi
403f98:	53                   	push   %ebx
403f99:	8d 45 e0             	lea    -0x20(%ebp),%eax
403f9c:	50                   	push   %eax
403f9d:	53                   	push   %ebx
403f9e:	53                   	push   %ebx
403f9f:	53                   	push   %ebx
403fa0:	52                   	push   %edx
403fa1:	51                   	push   %ecx
403fa2:	8b 47 04             	mov    0x4(%edi),%eax
403fa5:	50                   	push   %eax
403fa6:	8b 4e 60             	mov    0x60(%esi),%ecx
403fa9:	ff 15 20 23 41 00    	call   *0x412320
403faf:	ff 56 60             	call   *0x60(%esi)
403fb2:	8b f0                	mov    %eax,%esi
403fb4:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
403fb8:	8d 4d d8             	lea    -0x28(%ebp),%ecx
403fbb:	e8 8f 19 00 00       	call   0x40594f
403fc0:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
403fc4:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
403fc7:	e8 83 19 00 00       	call   0x40594f
403fcc:	85 f6                	test   %esi,%esi
403fce:	0f 88 63 01 00 00    	js     0x404137
403fd4:	be 98 16 40 00       	mov    $0x401698,%esi
403fd9:	56                   	push   %esi
403fda:	8d 45 e4             	lea    -0x1c(%ebp),%eax
403fdd:	50                   	push   %eax
403fde:	ba cc 14 40 00       	mov    $0x4014cc,%edx
403fe3:	8b 4d e0             	mov    -0x20(%ebp),%ecx
403fe6:	e8 d7 3b 00 00       	call   0x407bc2
403feb:	56                   	push   %esi
403fec:	8d 45 e8             	lea    -0x18(%ebp),%eax
403fef:	50                   	push   %eax
403ff0:	ba dc 14 40 00       	mov    $0x4014dc,%edx
403ff5:	8b 4d e0             	mov    -0x20(%ebp),%ecx
403ff8:	e8 c5 3b 00 00       	call   0x407bc2
403ffd:	b9 8d 13 00 00       	mov    $0x138d,%ecx
404002:	e8 4a 5a 00 00       	call   0x409a51
404007:	50                   	push   %eax
404008:	8d 4d ec             	lea    -0x14(%ebp),%ecx
40400b:	ff 15 2c 22 41 00    	call   *0x41222c
404011:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
404014:	ff 15 38 22 41 00    	call   *0x412238
40401a:	8b 40 04             	mov    0x4(%eax),%eax
40401d:	85 c0                	test   %eax,%eax
40401f:	74 1a                	je     0x40403b
404021:	ff 75 e8             	push   -0x18(%ebp)
404024:	ff 75 e4             	push   -0x1c(%ebp)
404027:	68 ac 14 40 00       	push   $0x4014ac
40402c:	8d 45 ec             	lea    -0x14(%ebp),%eax
40402f:	50                   	push   %eax
404030:	ff 15 04 22 41 00    	call   *0x412204
404036:	83 c4 10             	add    $0x10,%esp
404039:	eb 1d                	jmp    0x404058
40403b:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40403e:	ff 15 38 22 41 00    	call   *0x412238
404044:	8b 40 04             	mov    0x4(%eax),%eax
404047:	85 c0                	test   %eax,%eax
404049:	74 0d                	je     0x404058
40404b:	8d 45 e8             	lea    -0x18(%ebp),%eax
40404e:	50                   	push   %eax
40404f:	8d 4d ec             	lea    -0x14(%ebp),%ecx
404052:	ff 15 24 22 41 00    	call   *0x412224
404058:	be e8 14 40 00       	mov    $0x4014e8,%esi
40405d:	56                   	push   %esi
40405e:	8d 4d ec             	lea    -0x14(%ebp),%ecx
404061:	ff 15 28 22 41 00    	call   *0x412228
404067:	83 f8 ff             	cmp    $0xffffffff,%eax
40406a:	74 5a                	je     0x4040c6
40406c:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40406f:	ff 15 f8 21 41 00    	call   *0x4121f8
404075:	c6 45 fc 07          	movb   $0x7,-0x4(%ebp)
404079:	56                   	push   %esi
40407a:	8d 4d ec             	lea    -0x14(%ebp),%ecx
40407d:	ff 15 28 22 41 00    	call   *0x412228
404083:	50                   	push   %eax
404084:	8d 45 d4             	lea    -0x2c(%ebp),%eax
404087:	50                   	push   %eax
404088:	8d 4d ec             	lea    -0x14(%ebp),%ecx
40408b:	ff 15 20 22 41 00    	call   *0x412220
404091:	c6 45 fc 08          	movb   $0x8,-0x4(%ebp)
404095:	50                   	push   %eax
404096:	8d 4d d8             	lea    -0x28(%ebp),%ecx
404099:	ff 15 24 22 41 00    	call   *0x412224
40409f:	c6 45 fc 07          	movb   $0x7,-0x4(%ebp)
4040a3:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
4040a6:	ff 15 30 22 41 00    	call   *0x412230
4040ac:	8d 45 d8             	lea    -0x28(%ebp),%eax
4040af:	50                   	push   %eax
4040b0:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4040b3:	ff 15 24 22 41 00    	call   *0x412224
4040b9:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
4040bd:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4040c0:	ff 15 30 22 41 00    	call   *0x412230
4040c6:	51                   	push   %ecx
4040c7:	ff 75 ec             	push   -0x14(%ebp)
4040ca:	6a 07                	push   $0x7
4040cc:	8b 55 08             	mov    0x8(%ebp),%edx
4040cf:	8b 8f 80 00 00 00    	mov    0x80(%edi),%ecx
4040d5:	e8 10 52 00 00       	call   0x4092ea
4040da:	c7 45 fc 03 00 00 00 	movl   $0x3,-0x4(%ebp)
4040e1:	eb 3a                	jmp    0x40411d
4040e3:	8b 4d e0             	mov    -0x20(%ebp),%ecx
4040e6:	85 c9                	test   %ecx,%ecx
4040e8:	74 14                	je     0x4040fe
4040ea:	8b 01                	mov    (%ecx),%eax
4040ec:	51                   	push   %ecx
4040ed:	8b 70 08             	mov    0x8(%eax),%esi
4040f0:	8b ce                	mov    %esi,%ecx
4040f2:	ff 15 20 23 41 00    	call   *0x412320
4040f8:	ff d6                	call   *%esi
4040fa:	83 65 e0 00          	andl   $0x0,-0x20(%ebp)
4040fe:	68 0e 00 07 80       	push   $0x8007000e
404103:	ff 15 74 20 41 00    	call   *0x412074
404109:	e8 e6 56 00 00       	call   0x4097f4
40410e:	b8 14 41 40 00       	mov    $0x404114,%eax
404113:	c3                   	ret
404114:	c7 45 fc 03 00 00 00 	movl   $0x3,-0x4(%ebp)
40411b:	33 db                	xor    %ebx,%ebx
40411d:	8b 4d e0             	mov    -0x20(%ebp),%ecx
404120:	85 c9                	test   %ecx,%ecx
404122:	74 13                	je     0x404137
404124:	8b 01                	mov    (%ecx),%eax
404126:	51                   	push   %ecx
404127:	8b 70 08             	mov    0x8(%eax),%esi
40412a:	8b ce                	mov    %esi,%ecx