408e9c:	0f 84 0e 03 00 00    	je     0x4091b0
408ea2:	8b 4d b0             	mov    -0x50(%ebp),%ecx
408ea5:	51                   	push   %ecx
408ea6:	e8 b5 db ff ff       	call   0x406a60
408eab:	83 c4 04             	add    $0x4,%esp
408eae:	89 45 9c             	mov    %eax,-0x64(%ebp)
408eb1:	8b 55 9c             	mov    -0x64(%ebp),%edx
408eb4:	d1 e2                	shl    $1,%edx
408eb6:	89 55 98             	mov    %edx,-0x68(%ebp)
408eb9:	e8 c2 ac ff ff       	call   0x403b80
408ebe:	8b 40 18             	mov    0x18(%eax),%eax
408ec1:	8b 4d 98             	mov    -0x68(%ebp),%ecx
408ec4:	8d 54 08 08          	lea    0x8(%eax,%ecx,1),%edx
408ec8:	89 55 d8             	mov    %edx,-0x28(%ebp)
408ecb:	8b 45 d8             	mov    -0x28(%ebp),%eax
408ece:	50                   	push   %eax
408ecf:	e8 ac d9 ff ff       	call   0x406880
408ed4:	83 c4 04             	add    $0x4,%esp
408ed7:	89 45 e4             	mov    %eax,-0x1c(%ebp)
408eda:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
408ede:	0f 84 cc 02 00 00    	je     0x4091b0
408ee4:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
408eeb:	6a 04                	push   $0x4
408eed:	e8 8e ac ff ff       	call   0x403b80
408ef2:	83 c0 18             	add    $0x18,%eax
408ef5:	50                   	push   %eax
408ef6:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
408ef9:	51                   	push   %ecx
408efa:	e8 a1 da ff ff       	call   0x4069a0
408eff:	83 c4 0c             	add    $0xc,%esp
408f02:	8b 55 ec             	mov    -0x14(%ebp),%edx
408f05:	83 c2 04             	add    $0x4,%edx
408f08:	89 55 ec             	mov    %edx,-0x14(%ebp)
408f0b:	e8 70 ac ff ff       	call   0x403b80
408f10:	8b 40 18             	mov    0x18(%eax),%eax
408f13:	50                   	push   %eax
408f14:	e8 67 ac ff ff       	call   0x403b80
408f19:	8b 48 1c             	mov    0x1c(%eax),%ecx
408f1c:	51                   	push   %ecx
408f1d:	8b 55 e4             	mov    -0x1c(%ebp),%edx
408f20:	03 55 ec             	add    -0x14(%ebp),%edx
408f23:	52                   	push   %edx
408f24:	e8 77 da ff ff       	call   0x4069a0
408f29:	83 c4 0c             	add    $0xc,%esp
408f2c:	e8 4f ac ff ff       	call   0x403b80
408f31:	8b 4d ec             	mov    -0x14(%ebp),%ecx
408f34:	03 48 18             	add    0x18(%eax),%ecx
408f37:	89 4d ec             	mov    %ecx,-0x14(%ebp)
408f3a:	6a 04                	push   $0x4
408f3c:	8d 55 9c             	lea    -0x64(%ebp),%edx
408f3f:	52                   	push   %edx
408f40:	8b 45 e4             	mov    -0x1c(%ebp),%eax
408f43:	03 45 ec             	add    -0x14(%ebp),%eax
408f46:	50                   	push   %eax
408f47:	e8 54 da ff ff       	call   0x4069a0
408f4c:	83 c4 0c             	add    $0xc,%esp
408f4f:	8b 4d ec             	mov    -0x14(%ebp),%ecx
408f52:	83 c1 04             	add    $0x4,%ecx
408f55:	89 4d ec             	mov    %ecx,-0x14(%ebp)
408f58:	8b 55 98             	mov    -0x68(%ebp),%edx
408f5b:	52                   	push   %edx
408f5c:	8b 45 b0             	mov    -0x50(%ebp),%eax
408f5f:	50                   	push   %eax
408f60:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
408f63:	03 4d ec             	add    -0x14(%ebp),%ecx
408f66:	51                   	push   %ecx
408f67:	e8 34 da ff ff       	call   0x4069a0
408f6c:	83 c4 0c             	add    $0xc,%esp
408f6f:	c7 45 a8 00 00 00 00 	movl   $0x0,-0x58(%ebp)
408f76:	c7 45 a4 00 00 00 00 	movl   $0x0,-0x5c(%ebp)
408f7d:	8d 55 a4             	lea    -0x5c(%ebp),%edx
408f80:	52                   	push   %edx
408f81:	8d 45 a8             	lea    -0x58(%ebp),%eax
408f84:	50                   	push   %eax
408f85:	8b 4d d8             	mov    -0x28(%ebp),%ecx
408f88:	51                   	push   %ecx
408f89:	8b 55 e4             	mov    -0x1c(%ebp),%edx
408f8c:	52                   	push   %edx
408f8d:	8b 45 dc             	mov    -0x24(%ebp),%eax
408f90:	50                   	push   %eax
408f91:	8b 4d e0             	mov    -0x20(%ebp),%ecx
408f94:	51                   	push   %ecx
408f95:	e8 36 e9 ff ff       	call   0x4078d0
408f9a:	83 c4 18             	add    $0x18,%esp
408f9d:	85 c0                	test   %eax,%eax
408f9f:	0f 84 ff 01 00 00    	je     0x4091a4
408fa5:	8b 55 d8             	mov    -0x28(%ebp),%edx
408fa8:	8b 45 b4             	mov    -0x4c(%ebp),%eax
408fab:	8d 8c 10 c4 00 00 00 	lea    0xc4(%eax,%edx,1),%ecx
408fb2:	89 4d 94             	mov    %ecx,-0x6c(%ebp)
408fb5:	8b 55 94             	mov    -0x6c(%ebp),%edx
408fb8:	52                   	push   %edx
408fb9:	e8 c2 d8 ff ff       	call   0x406880
408fbe:	83 c4 04             	add    $0x4,%esp
408fc1:	89 45 f8             	mov    %eax,-0x8(%ebp)
408fc4:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
408fc8:	0f 84 be 01 00 00    	je     0x40918c
408fce:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
408fd5:	8b 45 d8             	mov    -0x28(%ebp),%eax
408fd8:	50                   	push   %eax
408fd9:	8b 4d a8             	mov    -0x58(%ebp),%ecx
408fdc:	51                   	push   %ecx
408fdd:	8b 55 f8             	mov    -0x8(%ebp),%edx
408fe0:	52                   	push   %edx
408fe1:	e8 ba d9 ff ff       	call   0x4069a0
408fe6:	83 c4 0c             	add    $0xc,%esp
408fe9:	8b 45 fc             	mov    -0x4(%ebp),%eax
408fec:	03 45 d8             	add    -0x28(%ebp),%eax
408fef:	89 45 fc             	mov    %eax,-0x4(%ebp)
408ff2:	6a 04                	push   $0x4
408ff4:	8d 4d d8             	lea    -0x28(%ebp),%ecx
408ff7:	51                   	push   %ecx
408ff8:	8b 55 f8             	mov    -0x8(%ebp),%edx
408ffb:	03 55 fc             	add    -0x4(%ebp),%edx
408ffe:	52                   	push   %edx
408fff:	e8 9c d9 ff ff       	call   0x4069a0
409004:	83 c4 0c             	add    $0xc,%esp
409007:	8b 45 fc             	mov    -0x4(%ebp),%eax
40900a:	83 c0 04             	add    $0x4,%eax
40900d:	89 45 fc             	mov    %eax,-0x4(%ebp)
409010:	6a 20                	push   $0x20
409012:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
409015:	51                   	push   %ecx
409016:	8b 55 f8             	mov    -0x8(%ebp),%edx
409019:	03 55 fc             	add    -0x4(%ebp),%edx
40901c:	52                   	push   %edx
40901d:	e8 7e d9 ff ff       	call   0x4069a0
409022:	83 c4 0c             	add    $0xc,%esp
409025:	8b 45 fc             	mov    -0x4(%ebp),%eax
409028:	83 c0 20             	add    $0x20,%eax
40902b:	89 45 fc             	mov    %eax,-0x4(%ebp)
40902e:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
409031:	51                   	push   %ecx
409032:	8b 55 c8             	mov    -0x38(%ebp),%edx
409035:	52                   	push   %edx
409036:	8b 45 f8             	mov    -0x8(%ebp),%eax
409039:	03 45 fc             	add    -0x4(%ebp),%eax
40903c:	50                   	push   %eax
40903d:	e8 5e d9 ff ff       	call   0x4069a0
409042:	83 c4 0c             	add    $0xc,%esp
409045:	8b 4d fc             	mov    -0x4(%ebp),%ecx
409048:	03 4d b4             	add    -0x4c(%ebp),%ecx
40904b:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40904e:	6a 08                	push   $0x8
409050:	8b 55 dc             	mov    -0x24(%ebp),%edx
409053:	52                   	push   %edx
409054:	8b 45 f8             	mov    -0x8(%ebp),%eax
409057:	03 45 fc             	add    -0x4(%ebp),%eax
40905a:	50                   	push   %eax
40905b:	e8 40 d9 ff ff       	call   0x4069a0
409060:	83 c4 0c             	add    $0xc,%esp
409063:	8b 4d fc             	mov    -0x4(%ebp),%ecx
409066:	83 c1 08             	add    $0x8,%ecx
409069:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40906c:	6a 04                	push   $0x4
40906e:	8d 55 e8             	lea    -0x18(%ebp),%edx
409071:	52                   	push   %edx
409072:	8b 45 f8             	mov    -0x8(%ebp),%eax
409075:	03 45 fc             	add    -0x4(%ebp),%eax
409078:	50                   	push   %eax
409079:	e8 22 d9 ff ff       	call   0x4069a0
40907e:	83 c4 0c             	add    $0xc,%esp
409081:	8b 4d fc             	mov    -0x4(%ebp),%ecx
409084:	83 c1 04             	add    $0x4,%ecx
409087:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40908a:	6a 04                	push   $0x4
40908c:	e8 6f c3 ff ff       	call   0x405400
409091:	83 c0 10             	add    $0x10,%eax
409094:	50                   	push   %eax
409095:	8b 55 f8             	mov    -0x8(%ebp),%edx
409098:	03 55 fc             	add    -0x4(%ebp),%edx
40909b:	52                   	push   %edx
40909c:	e8 ff d8 ff ff       	call   0x4069a0
4090a1:	83 c4 0c             	add    $0xc,%esp
4090a4:	8b 45 fc             	mov    -0x4(%ebp),%eax
4090a7:	83 c0 04             	add    $0x4,%eax
4090aa:	89 45 fc             	mov    %eax,-0x4(%ebp)
4090ad:	e8 ce aa ff ff       	call   0x403b80
4090b2:	8b 48 44             	mov    0x44(%eax),%ecx
4090b5:	51                   	push   %ecx
4090b6:	e8 c5 aa ff ff       	call   0x403b80
4090bb:	8b 50 48             	mov    0x48(%eax),%edx
4090be:	52                   	push   %edx
4090bf:	8b 45 f8             	mov    -0x8(%ebp),%eax
4090c2:	03 45 fc             	add    -0x4(%ebp),%eax
4090c5:	50                   	push   %eax
4090c6:	e8 d5 d8 ff ff       	call   0x4069a0
4090cb:	83 c4 0c             	add    $0xc,%esp
4090ce:	e8 ad aa ff ff       	call   0x403b80
4090d3:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4090d6:	03 48 44             	add    0x44(%eax),%ecx
4090d9:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4090dc:	6a 20                	push   $0x20
4090de:	8b 55 a0             	mov    -0x60(%ebp),%edx
4090e1:	52                   	push   %edx
4090e2:	8b 45 f8             	mov    -0x8(%ebp),%eax
4090e5:	03 45 fc             	add    -0x4(%ebp),%eax
4090e8:	50                   	push   %eax
4090e9:	e8 b2 d8 ff ff       	call   0x4069a0
4090ee:	83 c4 0c             	add    $0xc,%esp
4090f1:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4090f4:	83 c1 20             	add    $0x20,%ecx
4090f7:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4090fa:	6a 04                	push   $0x4
4090fc:	e8 7f aa ff ff       	call   0x403b80
409101:	83 c0 38             	add    $0x38,%eax
409104:	50                   	push   %eax
409105:	8b 55 f8             	mov    -0x8(%ebp),%edx
409108:	03 55 fc             	add    -0x4(%ebp),%edx
40910b:	52                   	push   %edx
40910c:	e8 8f d8 ff ff       	call   0x4069a0
409111:	83 c4 0c             	add    $0xc,%esp
409114:	8b 45 fc             	mov    -0x4(%ebp),%eax
409117:	83 c0 04             	add    $0x4,%eax
40911a:	89 45 fc             	mov    %eax,-0x4(%ebp)
40911d:	c7 45 8c 00 00 00 00 	movl   $0x0,-0x74(%ebp)
409124:	0f 57 c0             	xorps  %xmm0,%xmm0
409127:	66 0f 13 85 70 ff ff 	movlpd %xmm0,-0x90(%ebp)
40912e:	ff
40912f:	6a 02                	push   $0x2
409131:	6a 00                	push   $0x0
409133:	8b 8d 74 ff ff ff    	mov    -0x8c(%ebp),%ecx
409139:	51                   	push   %ecx
40913a:	8b 95 70 ff ff ff    	mov    -0x90(%ebp),%edx
409140:	52                   	push   %edx
409141:	8b 45 f4             	mov    -0xc(%ebp),%eax
409144:	50                   	push   %eax
409145:	e8 76 94 ff ff       	call   0x4025c0
40914a:	8b 88 e4 00 00 00    	mov    0xe4(%eax),%ecx
409150:	ff d1                	call   *%ecx
409152:	85 c0                	test   %eax,%eax
409154:	74 2a                	je     0x409180
409156:	6a 00                	push   $0x0
409158:	8d 55 8c             	lea    -0x74(%ebp),%edx
40915b:	52                   	push   %edx
40915c:	8b 45 94             	mov    -0x6c(%ebp),%eax
40915f:	50                   	push   %eax
409160:	8b 4d f8             	mov    -0x8(%ebp),%ecx
409163:	51                   	push   %ecx
409164:	8b 55 f4             	mov    -0xc(%ebp),%edx
409167:	52                   	push   %edx
409168:	e8 53 94 ff ff       	call   0x4025c0
40916d:	8b 80 d4 00 00 00    	mov    0xd4(%eax),%eax
409173:	ff d0                	call   *%eax
409175:	85 c0                	test   %eax,%eax
409177:	74 07                	je     0x409180
409179:	c7 45 d4 01 00 00 00 	movl   $0x1,-0x2c(%ebp)
409180:	8b 4d f8             	mov    -0x8(%ebp),%ecx
409183:	51                   	push   %ecx
409184:	e8 27 d7 ff ff       	call   0x4068b0
409189:	83 c4 04             	add    $0x4,%esp
40918c:	8b 55 a8             	mov    -0x58(%ebp),%edx
40918f:	52                   	push   %edx
409190:	e8 1b d7 ff ff       	call   0x4068b0
409195:	83 c4 04             	add    $0x4,%esp
409198:	8b 45 a4             	mov    -0x5c(%ebp),%eax
40919b:	50                   	push   %eax
40919c:	e8 0f d7 ff ff       	call   0x4068b0
4091a1:	83 c4 04             	add    $0x4,%esp
4091a4:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
4091a7:	51                   	push   %ecx
4091a8:	e8 03 d7 ff ff       	call   0x4068b0
4091ad:	83 c4 04             	add    $0x4,%esp
4091b0:	8b 55 c8             	mov    -0x38(%ebp),%edx
4091b3:	52                   	push   %edx
4091b4:	e8 f7 d6 ff ff       	call   0x4068b0
4091b9:	83 c4 04             	add    $0x4,%esp
4091bc:	8b 45 a0             	mov    -0x60(%ebp),%eax
4091bf:	50                   	push   %eax
4091c0:	e8 eb d6 ff ff       	call   0x4068b0
4091c5:	83 c4 04             	add    $0x4,%esp
4091c8:	6a 20                	push   $0x20
4091ca:	6a 00                	push   $0x0
4091cc:	8b 4d e0             	mov    -0x20(%ebp),%ecx
4091cf:	51                   	push   %ecx
4091d0:	e8 ab d7 ff ff       	call   0x406980
4091d5:	83 c4 0c             	add    $0xc,%esp
4091d8:	8b 55 e0             	mov    -0x20(%ebp),%edx
4091db:	52                   	push   %edx
4091dc:	e8 cf d6 ff ff       	call   0x4068b0
4091e1:	83 c4 04             	add    $0x4,%esp
4091e4:	8b 45 dc             	mov    -0x24(%ebp),%eax
4091e7:	50                   	push   %eax
4091e8:	e8 c3 d6 ff ff       	call   0x4068b0
4091ed:	83 c4 04             	add    $0x4,%esp
4091f0:	83 7d d4 00          	cmpl   $0x0,-0x2c(%ebp)
4091f4:	0f 84 07 01 00 00    	je     0x409301
4091fa:	8b 4d 08             	mov    0x8(%ebp),%ecx
4091fd:	51                   	push   %ecx
4091fe:	e8 5d d8 ff ff       	call   0x406a60
409203:	83 c4 04             	add    $0x4,%esp
409206:	8b f0                	mov    %eax,%esi
409208:	e8 73 a9 ff ff       	call   0x403b80
40920d:	03 70 54             	add    0x54(%eax),%esi
409210:	89 75 c4             	mov    %esi,-0x3c(%ebp)
409213:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
40921a:	81 7d c4 03 01 00 00 	cmpl   $0x103,-0x3c(%ebp)
409221:	7f 46                	jg     0x409269
409223:	8b 55 c4             	mov    -0x3c(%ebp),%edx
409226:	52                   	push   %edx
409227:	e8 d4 d7 ff ff       	call   0x406a00
40922c:	83 c4 04             	add    $0x4,%esp
40922f:	89 45 f0             	mov    %eax,-0x10(%ebp)
409232:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
409236:	74 2f                	je     0x409267
409238:	8b 45 08             	mov    0x8(%ebp),%eax
40923b:	50                   	push   %eax
40923c:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40923f:	51                   	push   %ecx
409240:	e8 7b 93 ff ff       	call   0x4025c0
409245:	8b 50 2c             	mov    0x2c(%eax),%edx
409248:	ff d2                	call   *%edx
40924a:	83 c4 08             	add    $0x8,%esp
40924d:	e8 2e a9 ff ff       	call   0x403b80
409252:	8b 40 58             	mov    0x58(%eax),%eax
409255:	50                   	push   %eax
409256:	8b 4d f0             	mov    -0x10(%ebp),%ecx
409259:	51                   	push   %ecx
40925a:	e8 61 93 ff ff       	call   0x4025c0
40925f:	8b 50 30             	mov    0x30(%eax),%edx
409262:	ff d2                	call   *%edx
409264:	83 c4 08             	add    $0x8,%esp
409267:	eb 66                	jmp    0x4092cf
409269:	8b 45 08             	mov    0x8(%ebp),%eax
40926c:	50                   	push   %eax
40926d:	e8 ee d7 ff ff       	call   0x406a60
409272:	83 c4 04             	add    $0x4,%esp
409275:	8b f0                	mov    %eax,%esi
409277:	e8 04 a9 ff ff       	call   0x403b80
40927c:	03 70 5c             	add    0x5c(%eax),%esi
40927f:	89 75 c4             	mov    %esi,-0x3c(%ebp)
409282:	81 7d c4 03 01 00 00 	cmpl   $0x103,-0x3c(%ebp)
409289:	7f 44                	jg     0x4092cf
40928b:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
40928e:	51                   	push   %ecx
40928f:	e8 6c d7 ff ff       	call   0x406a00
409294:	83 c4 04             	add    $0x4,%esp
409297:	89 45 f0             	mov    %eax,-0x10(%ebp)
40929a:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
40929e:	74 2f                	je     0x4092cf
4092a0:	8b 55 08             	mov    0x8(%ebp),%edx
4092a3:	52                   	push   %edx
4092a4:	8b 45 f0             	mov    -0x10(%ebp),%eax
4092a7:	50                   	push   %eax
4092a8:	e8 13 93 ff ff       	call   0x4025c0
4092ad:	8b 48 2c             	mov    0x2c(%eax),%ecx
4092b0:	ff d1                	call   *%ecx
4092b2:	83 c4 08             	add    $0x8,%esp
4092b5:	e8 c6 a8 ff ff       	call   0x403b80
4092ba:	8b 50 60             	mov    0x60(%eax),%edx