408d58:	e8 eb f5 ff ff       	call   0x408348
408d5d:	83 c4 0c             	add    $0xc,%esp
408d60:	8d 45 d4             	lea    -0x2c(%ebp),%eax
408d63:	50                   	push   %eax
408d64:	8d 45 c8             	lea    -0x38(%ebp),%eax
408d67:	50                   	push   %eax
408d68:	51                   	push   %ecx
408d69:	6a 11                	push   $0x11
408d6b:	5a                   	pop    %edx
408d6c:	8b cb                	mov    %ebx,%ecx
408d6e:	e8 f2 f2 ff ff       	call   0x408065
408d73:	85 c0                	test   %eax,%eax
408d75:	74 0a                	je     0x408d81
408d77:	68 54 2b 40 00       	push   $0x402b54
408d7c:	e9 79 05 00 00       	jmp    0x4092fa
408d81:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
408d84:	8b 41 0c             	mov    0xc(%ecx),%eax
408d87:	85 c0                	test   %eax,%eax
408d89:	74 23                	je     0x408dae
408d8b:	83 f8 04             	cmp    $0x4,%eax
408d8e:	74 0a                	je     0x408d9a
408d90:	68 54 2b 40 00       	push   $0x402b54
408d95:	e9 fa f9 ff ff       	jmp    0x408794
408d9a:	85 c0                	test   %eax,%eax
408d9c:	74 10                	je     0x408dae
408d9e:	ff 31                	push   (%ecx)
408da0:	68 64 2b 40 00       	push   $0x402b64
408da5:	56                   	push   %esi
408da6:	e8 9d f5 ff ff       	call   0x408348
408dab:	83 c4 0c             	add    $0xc,%esp
408dae:	8d 45 d4             	lea    -0x2c(%ebp),%eax
408db1:	50                   	push   %eax
408db2:	8d 45 c8             	lea    -0x38(%ebp),%eax
408db5:	50                   	push   %eax
408db6:	51                   	push   %ecx
408db7:	6a 13                	push   $0x13
408db9:	5a                   	pop    %edx
408dba:	8b cb                	mov    %ebx,%ecx
408dbc:	e8 a4 f2 ff ff       	call   0x408065
408dc1:	85 c0                	test   %eax,%eax
408dc3:	74 0a                	je     0x408dcf
408dc5:	68 80 2b 40 00       	push   $0x402b80
408dca:	e9 2b 05 00 00       	jmp    0x4092fa
408dcf:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
408dd2:	8b 41 0c             	mov    0xc(%ecx),%eax
408dd5:	85 c0                	test   %eax,%eax
408dd7:	74 23                	je     0x408dfc
408dd9:	83 f8 04             	cmp    $0x4,%eax
408ddc:	74 0a                	je     0x408de8
408dde:	68 80 2b 40 00       	push   $0x402b80
408de3:	e9 ac f9 ff ff       	jmp    0x408794
408de8:	85 c0                	test   %eax,%eax
408dea:	74 10                	je     0x408dfc
408dec:	ff 31                	push   (%ecx)
408dee:	68 90 2b 40 00       	push   $0x402b90
408df3:	56                   	push   %esi
408df4:	e8 4f f5 ff ff       	call   0x408348
408df9:	83 c4 0c             	add    $0xc,%esp
408dfc:	8d 45 d4             	lea    -0x2c(%ebp),%eax
408dff:	50                   	push   %eax
408e00:	8d 45 c8             	lea    -0x38(%ebp),%eax
408e03:	50                   	push   %eax
408e04:	51                   	push   %ecx
408e05:	6a 14                	push   $0x14
408e07:	5a                   	pop    %edx
408e08:	8b cb                	mov    %ebx,%ecx
408e0a:	e8 56 f2 ff ff       	call   0x408065
408e0f:	85 c0                	test   %eax,%eax
408e11:	74 0a                	je     0x408e1d
408e13:	68 ac 2b 40 00       	push   $0x402bac
408e18:	e9 dd 04 00 00       	jmp    0x4092fa
408e1d:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
408e20:	8b 41 0c             	mov    0xc(%ecx),%eax
408e23:	85 c0                	test   %eax,%eax
408e25:	74 23                	je     0x408e4a
408e27:	83 f8 04             	cmp    $0x4,%eax
408e2a:	74 0a                	je     0x408e36
408e2c:	68 ac 2b 40 00       	push   $0x402bac
408e31:	e9 5e f9 ff ff       	jmp    0x408794
408e36:	85 c0                	test   %eax,%eax
408e38:	74 10                	je     0x408e4a
408e3a:	ff 31                	push   (%ecx)
408e3c:	68 c8 2b 40 00       	push   $0x402bc8
408e41:	56                   	push   %esi
408e42:	e8 01 f5 ff ff       	call   0x408348
408e47:	83 c4 0c             	add    $0xc,%esp
408e4a:	8b 7d c0             	mov    -0x40(%ebp),%edi
408e4d:	83 ff 01             	cmp    $0x1,%edi
408e50:	0f 85 d7 00 00 00    	jne    0x408f2d
408e56:	8d 45 d4             	lea    -0x2c(%ebp),%eax
408e59:	50                   	push   %eax
408e5a:	8d 45 c8             	lea    -0x38(%ebp),%eax
408e5d:	50                   	push   %eax
408e5e:	51                   	push   %ecx
408e5f:	6a 15                	push   $0x15
408e61:	5a                   	pop    %edx
408e62:	8b cb                	mov    %ebx,%ecx
408e64:	e8 fc f1 ff ff       	call   0x408065
408e69:	85 c0                	test   %eax,%eax
408e6b:	74 0a                	je     0x408e77
408e6d:	68 f0 2b 40 00       	push   $0x402bf0
408e72:	e9 83 04 00 00       	jmp    0x4092fa
408e77:	8b 55 d4             	mov    -0x2c(%ebp),%edx
408e7a:	8b 42 0c             	mov    0xc(%edx),%eax
408e7d:	85 c0                	test   %eax,%eax
408e7f:	74 32                	je     0x408eb3
408e81:	83 f8 02             	cmp    $0x2,%eax
408e84:	75 14                	jne    0x408e9a
408e86:	85 c0                	test   %eax,%eax
408e88:	74 29                	je     0x408eb3
408e8a:	8b 12                	mov    (%edx),%edx
408e8c:	b9 60 11 41 00       	mov    $0x411160,%ecx
408e91:	e8 c9 4c 00 00       	call   0x40db5f
408e96:	85 c0                	test   %eax,%eax
408e98:	75 0a                	jne    0x408ea4
408e9a:	68 f0 2b 40 00       	push   $0x402bf0
408e9f:	e9 f0 f8 ff ff       	jmp    0x408794
408ea4:	50                   	push   %eax
408ea5:	68 10 2c 40 00       	push   $0x402c10
408eaa:	56                   	push   %esi
408eab:	e8 98 f4 ff ff       	call   0x408348
408eb0:	83 c4 0c             	add    $0xc,%esp
408eb3:	8d 45 d4             	lea    -0x2c(%ebp),%eax
408eb6:	50                   	push   %eax
408eb7:	8d 45 c8             	lea    -0x38(%ebp),%eax
408eba:	50                   	push   %eax
408ebb:	51                   	push   %ecx
408ebc:	6a 16                	push   $0x16
408ebe:	5a                   	pop    %edx
408ebf:	8b cb                	mov    %ebx,%ecx
408ec1:	e8 9f f1 ff ff       	call   0x408065
408ec6:	85 c0                	test   %eax,%eax
408ec8:	74 0a                	je     0x408ed4
408eca:	68 3c 2c 40 00       	push   $0x402c3c
408ecf:	e9 26 04 00 00       	jmp    0x4092fa
408ed4:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
408ed7:	8b 41 0c             	mov    0xc(%ecx),%eax
408eda:	85 c0                	test   %eax,%eax
408edc:	74 0f                	je     0x408eed
408ede:	83 f8 04             	cmp    $0x4,%eax
408ee1:	74 13                	je     0x408ef6
408ee3:	68 3c 2c 40 00       	push   $0x402c3c
408ee8:	e9 a7 f8 ff ff       	jmp    0x408794
408eed:	83 f8 04             	cmp    $0x4,%eax
408ef0:	0f 85 e9 01 00 00    	jne    0x4090df
408ef6:	8b 01                	mov    (%ecx),%eax
408ef8:	85 c0                	test   %eax,%eax
408efa:	0f 84 df 01 00 00    	je     0x4090df
408f00:	33 c9                	xor    %ecx,%ecx
408f02:	66 39 08             	cmp    %cx,(%eax)
408f05:	0f 84 d4 01 00 00    	je     0x4090df
408f0b:	50                   	push   %eax
408f0c:	68 5c 2c 40 00       	push   $0x402c5c
408f11:	56                   	push   %esi
408f12:	e8 31 f4 ff ff       	call   0x408348
408f17:	83 c4 0c             	add    $0xc,%esp
408f1a:	68 88 2c 40 00       	push   $0x402c88
408f1f:	68 8c 2c 40 00       	push   $0x402c8c
408f24:	56                   	push   %esi
408f25:	e8 1e f4 ff ff       	call   0x408348
408f2a:	83 c4 0c             	add    $0xc,%esp
408f2d:	85 ff                	test   %edi,%edi
408f2f:	0f 85 aa 01 00 00    	jne    0x4090df
408f35:	8d 45 d4             	lea    -0x2c(%ebp),%eax
408f38:	50                   	push   %eax
408f39:	8d 45 c8             	lea    -0x38(%ebp),%eax
408f3c:	50                   	push   %eax
408f3d:	51                   	push   %ecx
408f3e:	6a 1c                	push   $0x1c
408f40:	5a                   	pop    %edx
408f41:	8b cb                	mov    %ebx,%ecx
408f43:	e8 1d f1 ff ff       	call   0x408065
408f48:	85 c0                	test   %eax,%eax
408f4a:	74 0a                	je     0x408f56
408f4c:	68 c0 2c 40 00       	push   $0x402cc0
408f51:	e9 a4 03 00 00       	jmp    0x4092fa
408f56:	8b 7d d4             	mov    -0x2c(%ebp),%edi
408f59:	83 7f 0c 00          	cmpl   $0x0,0xc(%edi)
408f5d:	74 13                	je     0x408f72
408f5f:	81 7f 0c 84 00 00 00 	cmpl   $0x84,0xc(%edi)
408f66:	74 0a                	je     0x408f72
408f68:	68 c0 2c 40 00       	push   $0x402cc0
408f6d:	e9 22 f8 ff ff       	jmp    0x408794
408f72:	68 e8 2c 40 00       	push   $0x402ce8
408f77:	56                   	push   %esi
408f78:	e8 cb f3 ff ff       	call   0x408348
408f7d:	33 c0                	xor    %eax,%eax
408f7f:	59                   	pop    %ecx
408f80:	59                   	pop    %ecx
408f81:	39 47 0c             	cmp    %eax,0xc(%edi)
408f84:	74 23                	je     0x408fa9
408f86:	39 47 08             	cmp    %eax,0x8(%edi)
408f89:	76 1e                	jbe    0x408fa9
408f8b:	8b d8                	mov    %eax,%ebx
408f8d:	8b 07                	mov    (%edi),%eax
408f8f:	ff 34 98             	push   (%eax,%ebx,4)
408f92:	68 18 2d 40 00       	push   $0x402d18
408f97:	56                   	push   %esi
408f98:	e8 ab f3 ff ff       	call   0x408348
408f9d:	83 c4 0c             	add    $0xc,%esp
408fa0:	43                   	inc    %ebx
408fa1:	3b 5f 08             	cmp    0x8(%edi),%ebx
408fa4:	72 e7                	jb     0x408f8d
408fa6:	8b 5d bc             	mov    -0x44(%ebp),%ebx
408fa9:	8d 45 d4             	lea    -0x2c(%ebp),%eax
408fac:	50                   	push   %eax
408fad:	8d 45 c8             	lea    -0x38(%ebp),%eax
408fb0:	50                   	push   %eax
408fb1:	51                   	push   %ecx
408fb2:	6a 1d                	push   $0x1d
408fb4:	5a                   	pop    %edx
408fb5:	8b cb                	mov    %ebx,%ecx
408fb7:	e8 a9 f0 ff ff       	call   0x408065
408fbc:	85 c0                	test   %eax,%eax
408fbe:	74 0a                	je     0x408fca
408fc0:	68 28 2d 40 00       	push   $0x402d28
408fc5:	e9 30 03 00 00       	jmp    0x4092fa
408fca:	8b 7d d4             	mov    -0x2c(%ebp),%edi
408fcd:	83 7f 0c 00          	cmpl   $0x0,0xc(%edi)
408fd1:	74 13                	je     0x408fe6
408fd3:	81 7f 0c 84 00 00 00 	cmpl   $0x84,0xc(%edi)
408fda:	74 0a                	je     0x408fe6
408fdc:	68 28 2d 40 00       	push   $0x402d28
408fe1:	e9 ae f7 ff ff       	jmp    0x408794
408fe6:	68 50 2d 40 00       	push   $0x402d50
408feb:	56                   	push   %esi
408fec:	e8 57 f3 ff ff       	call   0x408348
408ff1:	33 c0                	xor    %eax,%eax
408ff3:	59                   	pop    %ecx
408ff4:	59                   	pop    %ecx
408ff5:	39 47 0c             	cmp    %eax,0xc(%edi)
408ff8:	74 23                	je     0x40901d
408ffa:	39 47 08             	cmp    %eax,0x8(%edi)
408ffd:	76 1e                	jbe    0x40901d
408fff:	8b d8                	mov    %eax,%ebx
409001:	8b 07                	mov    (%edi),%eax
409003:	ff 34 98             	push   (%eax,%ebx,4)
409006:	68 18 2d 40 00       	push   $0x402d18
40900b:	56                   	push   %esi
40900c:	e8 37 f3 ff ff       	call   0x408348
409011:	83 c4 0c             	add    $0xc,%esp
409014:	43                   	inc    %ebx
409015:	3b 5f 08             	cmp    0x8(%edi),%ebx
409018:	72 e7                	jb     0x409001
40901a:	8b 5d bc             	mov    -0x44(%ebp),%ebx
40901d:	8d 45 d4             	lea    -0x2c(%ebp),%eax
409020:	50                   	push   %eax
409021:	8d 45 c8             	lea    -0x38(%ebp),%eax
409024:	50                   	push   %eax
409025:	51                   	push   %ecx
409026:	6a 1e                	push   $0x1e
409028:	5a                   	pop    %edx
409029:	8b cb                	mov    %ebx,%ecx
40902b:	e8 35 f0 ff ff       	call   0x408065
409030:	85 c0                	test   %eax,%eax
409032:	74 0a                	je     0x40903e
409034:	68 7c 2d 40 00       	push   $0x402d7c
409039:	e9 bc 02 00 00       	jmp    0x4092fa
40903e:	8b 7d d4             	mov    -0x2c(%ebp),%edi
409041:	83 7f 0c 00          	cmpl   $0x0,0xc(%edi)
409045:	74 13                	je     0x40905a
409047:	81 7f 0c 84 00 00 00 	cmpl   $0x84,0xc(%edi)
40904e:	74 0a                	je     0x40905a
409050:	68 7c 2d 40 00       	push   $0x402d7c
409055:	e9 3a f7 ff ff       	jmp    0x408794
40905a:	68 a0 2d 40 00       	push   $0x402da0
40905f:	56                   	push   %esi
409060:	e8 e3 f2 ff ff       	call   0x408348
409065:	33 c0                	xor    %eax,%eax
409067:	59                   	pop    %ecx
409068:	59                   	pop    %ecx
409069:	39 47 0c             	cmp    %eax,0xc(%edi)
40906c:	74 23                	je     0x409091
40906e:	39 47 08             	cmp    %eax,0x8(%edi)
409071:	76 1e                	jbe    0x409091
409073:	8b d8                	mov    %eax,%ebx
409075:	8b 07                	mov    (%edi),%eax
409077:	ff 34 98             	push   (%eax,%ebx,4)
40907a:	68 18 2d 40 00       	push   $0x402d18
40907f:	56                   	push   %esi
409080:	e8 c3 f2 ff ff       	call   0x408348
409085:	83 c4 0c             	add    $0xc,%esp
409088:	43                   	inc    %ebx
409089:	3b 5f 08             	cmp    0x8(%edi),%ebx
40908c:	72 e7                	jb     0x409075
40908e:	8b 5d bc             	mov    -0x44(%ebp),%ebx
409091:	8d 45 d4             	lea    -0x2c(%ebp),%eax
409094:	50                   	push   %eax
409095:	8d 45 c8             	lea    -0x38(%ebp),%eax
409098:	50                   	push   %eax
409099:	51                   	push   %ecx
40909a:	6a 1f                	push   $0x1f
40909c:	5a                   	pop    %edx
40909d:	8b cb                	mov    %ebx,%ecx
40909f:	e8 c1 ef ff ff       	call   0x408065
4090a4:	85 c0                	test   %eax,%eax
4090a6:	74 0a                	je     0x4090b2
4090a8:	68 cc 2d 40 00       	push   $0x402dcc
4090ad:	e9 48 02 00 00       	jmp    0x4092fa
4090b2:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
4090b5:	8b 41 0c             	mov    0xc(%ecx),%eax
4090b8:	85 c0                	test   %eax,%eax
4090ba:	74 23                	je     0x4090df
4090bc:	83 f8 04             	cmp    $0x4,%eax
4090bf:	74 0a                	je     0x4090cb
4090c1:	68 cc 2d 40 00       	push   $0x402dcc
4090c6:	e9 c9 f6 ff ff       	jmp    0x408794
4090cb:	85 c0                	test   %eax,%eax
4090cd:	74 10                	je     0x4090df
4090cf:	ff 31                	push   (%ecx)
4090d1:	68 08 2e 40 00       	push   $0x402e08
4090d6:	56                   	push   %esi
4090d7:	e8 6c f2 ff ff       	call   0x408348
4090dc:	83 c4 0c             	add    $0xc,%esp
4090df:	33 c0                	xor    %eax,%eax
4090e1:	33 d2                	xor    %edx,%edx
4090e3:	89 45 b8             	mov    %eax,-0x48(%ebp)
4090e6:	42                   	inc    %edx
4090e7:	8d 45 d4             	lea    -0x2c(%ebp),%eax
4090ea:	50                   	push   %eax
4090eb:	8d 45 c8             	lea    -0x38(%ebp),%eax
4090ee:	50                   	push   %eax
4090ef:	51                   	push   %ecx
4090f0:	8b cb                	mov    %ebx,%ecx
4090f2:	e8 6e ef ff ff       	call   0x408065
4090f7:	85 c0                	test   %eax,%eax
4090f9:	74 0a                	je     0x409105
4090fb:	68 50 2e 40 00       	push   $0x402e50
409100:	e9 f5 01 00 00       	jmp    0x4092fa
409105:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
409108:	8b 43 0c             	mov    0xc(%ebx),%eax
40910b:	85 c0                	test   %eax,%eax
40910d:	0f 84 89 01 00 00    	je     0x40929c
409113:	83 f8 05             	cmp    $0x5,%eax
409116:	74 0a                	je     0x409122
409118:	68 50 2e 40 00       	push   $0x402e50
40911d:	e9 72 f6 ff ff       	jmp    0x408794
409122:	85 c0                	test   %eax,%eax
409124:	0f 84 72 01 00 00    	je     0x40929c
40912a:	8b 1b                	mov    (%ebx),%ebx
40912c:	8d 45 b8             	lea    -0x48(%ebp),%eax
40912f:	50                   	push   %eax
409130:	53                   	push   %ebx
409131:	ff 15 24 20 41 00    	call   *0x412024
409137:	85 c0                	test   %eax,%eax
409139:	75 10                	jne    0x40914b
40913b:	ff 15 70 20 41 00    	call   *0x412070
409141:	68 6c 2e 40 00       	push   $0x402e6c
409146:	e9 af 01 00 00       	jmp    0x4092fa
40914b:	85 db                	test   %ebx,%ebx