412fdf:	0f 84 c4 00 00 00    	je     0x4130a9
412fe5:	8b 45 cc             	mov    -0x34(%ebp),%eax
412fe8:	85 c0                	test   %eax,%eax
412fea:	0f 84 b9 00 00 00    	je     0x4130a9
412ff0:	8d 71 0b             	lea    0xb(%ecx),%esi
412ff3:	ba 02 00 00 00       	mov    $0x2,%edx
412ff8:	03 f0                	add    %eax,%esi
412ffa:	33 c9                	xor    %ecx,%ecx
412ffc:	8b c6                	mov    %esi,%eax
412ffe:	f7 e2                	mul    %edx
413000:	0f 90 c1             	seto   %cl
413003:	f7 d9                	neg    %ecx
413005:	0b c8                	or     %eax,%ecx
413007:	51                   	push   %ecx
413008:	e8 46 36 01 00       	call   0x426653
41300d:	8b d8                	mov    %eax,%ebx
41300f:	83 c4 04             	add    $0x4,%esp
413012:	85 db                	test   %ebx,%ebx
413014:	0f 84 8f 00 00 00    	je     0x4130a9
41301a:	83 7d e8 08          	cmpl   $0x8,-0x18(%ebp)
41301e:	8d 45 d4             	lea    -0x2c(%ebp),%eax
413021:	0f 43 45 d4          	cmovae -0x2c(%ebp),%eax
413025:	50                   	push   %eax
413026:	56                   	push   %esi
413027:	53                   	push   %ebx
413028:	e8 49 34 01 00       	call   0x426476
41302d:	83 c4 0c             	add    $0xc,%esp
413030:	8d 45 bc             	lea    -0x44(%ebp),%eax
413033:	83 7d d0 08          	cmpl   $0x8,-0x30(%ebp)
413037:	0f 43 45 bc          	cmovae -0x44(%ebp),%eax
41303b:	50                   	push   %eax
41303c:	53                   	push   %ebx
41303d:	ff 15 fc f1 43 00    	call   *0x43f1fc
413043:	8b cb                	mov    %ebx,%ecx
413045:	8d 51 02             	lea    0x2(%ecx),%edx
413048:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
41304f:	00
413050:	66 8b 01             	mov    (%ecx),%ax
413053:	83 c1 02             	add    $0x2,%ecx
413056:	66 85 c0             	test   %ax,%ax
413059:	75 f5                	jne    0x413050
41305b:	8b 45 e8             	mov    -0x18(%ebp),%eax
41305e:	2b ca                	sub    %edx,%ecx
413060:	d1 f9                	sar    $1,%ecx
413062:	3b c8                	cmp    %eax,%ecx
413064:	77 23                	ja     0x413089
413066:	8d 34 09             	lea    (%ecx,%ecx,1),%esi
413069:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
41306c:	83 f8 08             	cmp    $0x8,%eax
41306f:	8d 7d d4             	lea    -0x2c(%ebp),%edi
413072:	56                   	push   %esi
413073:	0f 43 7d d4          	cmovae -0x2c(%ebp),%edi
413077:	53                   	push   %ebx
413078:	57                   	push   %edi
413079:	e8 d2 a3 00 00       	call   0x41d450
41307e:	83 c4 0c             	add    $0xc,%esp
413081:	33 c0                	xor    %eax,%eax
413083:	66 89 04 37          	mov    %ax,(%edi,%esi,1)
413087:	eb 17                	jmp    0x4130a0
413089:	53                   	push   %ebx
41308a:	c6 85 3c fd ff ff 00 	movb   $0x0,-0x2c4(%ebp)
413091:	ff b5 3c fd ff ff    	push   -0x2c4(%ebp)
413097:	51                   	push   %ecx
413098:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
41309b:	e8 70 f5 fe ff       	call   0x402610
4130a0:	53                   	push   %ebx
4130a1:	e8 a7 2f 01 00       	call   0x42604d
4130a6:	83 c4 04             	add    $0x4,%esp
4130a9:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
4130ad:	8b 4d d0             	mov    -0x30(%ebp),%ecx
4130b0:	83 f9 08             	cmp    $0x8,%ecx
4130b3:	72 32                	jb     0x4130e7
4130b5:	8b 55 bc             	mov    -0x44(%ebp),%edx
4130b8:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
4130bf:	8b c2                	mov    %edx,%eax
4130c1:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
4130c7:	72 14                	jb     0x4130dd
4130c9:	8b 50 fc             	mov    -0x4(%eax),%edx
4130cc:	83 c1 23             	add    $0x23,%ecx
4130cf:	2b c2                	sub    %edx,%eax
4130d1:	83 c0 fc             	add    $0xfffffffc,%eax
4130d4:	83 f8 1f             	cmp    $0x1f,%eax
4130d7:	0f 87 f4 01 00 00    	ja     0x4132d1
4130dd:	51                   	push   %ecx
4130de:	52                   	push   %edx
4130df:	e8 2a 88 00 00       	call   0x41b90e
4130e4:	83 c4 08             	add    $0x8,%esp
4130e7:	f6 85 54 fd ff ff 10 	testb  $0x10,-0x2ac(%ebp)
4130ee:	74 26                	je     0x413116
4130f0:	8b 95 44 fd ff ff    	mov    -0x2bc(%ebp),%edx
4130f6:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
4130f9:	6a 00                	push   $0x0
4130fb:	6a 01                	push   $0x1
4130fd:	ff b5 40 fd ff ff    	push   -0x2c0(%ebp)
413103:	e8 38 fb ff ff       	call   0x412c40
413108:	83 c4 0c             	add    $0xc,%esp
41310b:	88 85 53 fd ff ff    	mov    %al,-0x2ad(%ebp)
413111:	e9 eb 00 00 00       	jmp    0x413201
413116:	8d 8d 80 fd ff ff    	lea    -0x280(%ebp),%ecx
41311c:	c7 45 bc 00 00 00 00 	movl   $0x0,-0x44(%ebp)
413123:	c7 45 cc 00 00 00 00 	movl   $0x0,-0x34(%ebp)
41312a:	8d 51 02             	lea    0x2(%ecx),%edx
41312d:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
413134:	66 8b 01             	mov    (%ecx),%ax
413137:	83 c1 02             	add    $0x2,%ecx
41313a:	66 85 c0             	test   %ax,%ax
41313d:	75 f5                	jne    0x413134
41313f:	2b ca                	sub    %edx,%ecx
413141:	8d 85 80 fd ff ff    	lea    -0x280(%ebp),%eax
413147:	d1 f9                	sar    $1,%ecx
413149:	51                   	push   %ecx
41314a:	50                   	push   %eax
41314b:	8d 4d bc             	lea    -0x44(%ebp),%ecx
41314e:	e8 bd f3 fe ff       	call   0x402510
413153:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
413157:	8b 45 cc             	mov    -0x34(%ebp),%eax
41315a:	8b 5d b4             	mov    -0x4c(%ebp),%ebx
41315d:	8b 75 bc             	mov    -0x44(%ebp),%esi
413160:	3b c3                	cmp    %ebx,%eax
413162:	76 62                	jbe    0x4131c6
413164:	8b f8                	mov    %eax,%edi
413166:	2b fb                	sub    %ebx,%edi
413168:	3b c7                	cmp    %edi,%eax
41316a:	0f 82 66 01 00 00    	jb     0x4132d6
413170:	83 7d b8 08          	cmpl   $0x8,-0x48(%ebp)
413174:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
413177:	8b d3                	mov    %ebx,%edx
413179:	0f 43 4d a4          	cmovae -0x5c(%ebp),%ecx
41317d:	2b c7                	sub    %edi,%eax
41317f:	3b c3                	cmp    %ebx,%eax
413181:	53                   	push   %ebx
413182:	0f 42 d0             	cmovb  %eax,%edx
413185:	8d 45 bc             	lea    -0x44(%ebp),%eax
413188:	83 7d d0 08          	cmpl   $0x8,-0x30(%ebp)
41318c:	51                   	push   %ecx
41318d:	0f 43 c6             	cmovae %esi,%eax
413190:	8d 0c 78             	lea    (%eax,%edi,2),%ecx
413193:	e8 08 f3 fe ff       	call   0x4024a0
413198:	83 c4 08             	add    $0x8,%esp
41319b:	85 c0                	test   %eax,%eax
41319d:	75 27                	jne    0x4131c6
41319f:	8b bd 40 fd ff ff    	mov    -0x2c0(%ebp),%edi
4131a5:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
4131a8:	51                   	push   %ecx
4131a9:	8b 47 04             	mov    0x4(%edi),%eax
4131ac:	3b 47 08             	cmp    0x8(%edi),%eax
4131af:	74 0d                	je     0x4131be
4131b1:	8b c8                	mov    %eax,%ecx
4131b3:	e8 08 f1 fe ff       	call   0x4022c0
4131b8:	83 47 04 18          	addl   $0x18,0x4(%edi)
4131bc:	eb 08                	jmp    0x4131c6
4131be:	50                   	push   %eax
4131bf:	8b cf                	mov    %edi,%ecx
4131c1:	e8 8a 9e ff ff       	call   0x40d050
4131c6:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
4131ca:	8b 45 d0             	mov    -0x30(%ebp),%eax
4131cd:	83 f8 08             	cmp    $0x8,%eax
4131d0:	72 2f                	jb     0x413201
4131d2:	8d 0c 45 02 00 00 00 	lea    0x2(,%eax,2),%ecx
4131d9:	8b c6                	mov    %esi,%eax
4131db:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
4131e1:	72 14                	jb     0x4131f7
4131e3:	8b 70 fc             	mov    -0x4(%eax),%esi
4131e6:	83 c1 23             	add    $0x23,%ecx
4131e9:	2b c6                	sub    %esi,%eax
4131eb:	83 c0 fc             	add    $0xfffffffc,%eax
4131ee:	83 f8 1f             	cmp    $0x1f,%eax
4131f1:	0f 87 e4 00 00 00    	ja     0x4132db
4131f7:	51                   	push   %ecx
4131f8:	56                   	push   %esi
4131f9:	e8 10 87 00 00       	call   0x41b90e
4131fe:	83 c4 08             	add    $0x8,%esp
413201:	8b 9d 4c fd ff ff    	mov    -0x2b4(%ebp),%ebx
413207:	8d 85 54 fd ff ff    	lea    -0x2ac(%ebp),%eax
41320d:	50                   	push   %eax
41320e:	53                   	push   %ebx
41320f:	ff 15 48 f0 43 00    	call   *0x43f048
413215:	85 c0                	test   %eax,%eax
413217:	74 0b                	je     0x413224
413219:	8b 9d 38 fd ff ff    	mov    -0x2c8(%ebp),%ebx
41321f:	e9 ec fc ff ff       	jmp    0x412f10
413224:	53                   	push   %ebx
413225:	ff 15 90 f0 43 00    	call   *0x43f090
41322b:	8b 4d b8             	mov    -0x48(%ebp),%ecx
41322e:	83 f9 08             	cmp    $0x8,%ecx
413231:	72 32                	jb     0x413265
413233:	8b 55 a4             	mov    -0x5c(%ebp),%edx
413236:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
41323d:	8b c2                	mov    %edx,%eax
41323f:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
413245:	72 14                	jb     0x41325b
413247:	8b 50 fc             	mov    -0x4(%eax),%edx
41324a:	83 c1 23             	add    $0x23,%ecx
41324d:	2b c2                	sub    %edx,%eax
41324f:	83 c0 fc             	add    $0xfffffffc,%eax
413252:	83 f8 1f             	cmp    $0x1f,%eax
413255:	0f 87 80 00 00 00    	ja     0x4132db
41325b:	51                   	push   %ecx
41325c:	52                   	push   %edx
41325d:	e8 ac 86 00 00       	call   0x41b90e
413262:	83 c4 08             	add    $0x8,%esp
413265:	8b 4d e8             	mov    -0x18(%ebp),%ecx
413268:	33 c0                	xor    %eax,%eax
41326a:	c7 45 b4 00 00 00 00 	movl   $0x0,-0x4c(%ebp)
413271:	c7 45 b8 07 00 00 00 	movl   $0x7,-0x48(%ebp)
413278:	66 89 45 a4          	mov    %ax,-0x5c(%ebp)
41327c:	83 f9 08             	cmp    $0x8,%ecx
41327f:	72 2e                	jb     0x4132af
413281:	8b 55 d4             	mov    -0x2c(%ebp),%edx
413284:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
41328b:	8b c2                	mov    %edx,%eax
41328d:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
413293:	72 10                	jb     0x4132a5
413295:	8b 50 fc             	mov    -0x4(%eax),%edx
413298:	83 c1 23             	add    $0x23,%ecx
41329b:	2b c2                	sub    %edx,%eax
41329d:	83 c0 fc             	add    $0xfffffffc,%eax
4132a0:	83 f8 1f             	cmp    $0x1f,%eax
4132a3:	77 36                	ja     0x4132db
4132a5:	51                   	push   %ecx
4132a6:	52                   	push   %edx
4132a7:	e8 62 86 00 00       	call   0x41b90e
4132ac:	83 c4 08             	add    $0x8,%esp
4132af:	8a 85 53 fd ff ff    	mov    -0x2ad(%ebp),%al
4132b5:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4132b8:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4132bf:	59                   	pop    %ecx
4132c0:	5f                   	pop    %edi
4132c1:	5e                   	pop    %esi
4132c2:	5b                   	pop    %ebx
4132c3:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4132c6:	33 cd                	xor    %ebp,%ecx
4132c8:	e8 03 86 00 00       	call   0x41b8d0
4132cd:	8b e5                	mov    %ebp,%esp
4132cf:	5d                   	pop    %ebp
4132d0:	c3                   	ret
4132d1:	e8 a9 d7 00 00       	call   0x420a7f
4132d6:	e8 f5 85 ff ff       	call   0x40b8d0
4132db:	e8 9f d7 00 00       	call   0x420a7f
4132e0:	cc                   	int3
4132e1:	cc                   	int3
4132e2:	cc                   	int3
4132e3:	cc                   	int3
4132e4:	cc                   	int3
4132e5:	cc                   	int3
4132e6:	cc                   	int3
4132e7:	cc                   	int3
4132e8:	cc                   	int3
4132e9:	cc                   	int3
4132ea:	cc                   	int3
4132eb:	cc                   	int3
4132ec:	cc                   	int3
4132ed:	cc                   	int3
4132ee:	cc                   	int3
4132ef:	cc                   	int3
4132f0:	55                   	push   %ebp
4132f1:	8b ec                	mov    %esp,%ebp
4132f3:	51                   	push   %ecx
4132f4:	57                   	push   %edi
4132f5:	8b f9                	mov    %ecx,%edi
4132f7:	8b c7                	mov    %edi,%eax
4132f9:	83 7f 14 08          	cmpl   $0x8,0x14(%edi)
4132fd:	72 02                	jb     0x413301
4132ff:	8b 07                	mov    (%edi),%eax
413301:	50                   	push   %eax
413302:	ff 15 ec f1 43 00    	call   *0x43f1ec
413308:	85 c0                	test   %eax,%eax
41330a:	0f 84 06 02 00 00    	je     0x413516
413310:	83 7f 14 08          	cmpl   $0x8,0x14(%edi)
413314:	8b c7                	mov    %edi,%eax
413316:	72 02                	jb     0x41331a
413318:	8b 07                	mov    (%edi),%eax
41331a:	50                   	push   %eax
41331b:	ff 15 14 f2 43 00    	call   *0x43f214
413321:	83 7f 14 08          	cmpl   $0x8,0x14(%edi)
413325:	8b c7                	mov    %edi,%eax
413327:	72 02                	jb     0x41332b
413329:	8b 07                	mov    (%edi),%eax
41332b:	53                   	push   %ebx
41332c:	56                   	push   %esi
41332d:	50                   	push   %eax
41332e:	ff 15 64 f0 43 00    	call   *0x43f064
413334:	8b 5d 08             	mov    0x8(%ebp),%ebx
413337:	83 f8 01             	cmp    $0x1,%eax
41333a:	0f 94 45 ff          	sete   -0x1(%ebp)
41333e:	0f 84 fc 00 00 00    	je     0x413440
413344:	ff 15 60 f0 43 00    	call   *0x43f060
41334a:	83 f8 05             	cmp    $0x5,%eax
41334d:	0f 85 ed 00 00 00    	jne    0x413440
413353:	83 7f 14 08          	cmpl   $0x8,0x14(%edi)
413357:	8b c7                	mov    %edi,%eax
413359:	72 02                	jb     0x41335d
41335b:	8b 07                	mov    (%edi),%eax
41335d:	50                   	push   %eax
41335e:	ff 15 94 f0 43 00    	call   *0x43f094
413364:	8b d0                	mov    %eax,%edx
413366:	f6 c2 01             	test   $0x1,%dl
413369:	0f 84 d1 00 00 00    	je     0x413440
41336f:	85 db                	test   %ebx,%ebx
413371:	74 22                	je     0x413395
413373:	83 7f 14 08          	cmpl   $0x8,0x14(%edi)
413377:	8b cf                	mov    %edi,%ecx
413379:	72 02                	jb     0x41337d
41337b:	8b 0f                	mov    (%edi),%ecx
41337d:	8b 33                	mov    (%ebx),%esi
41337f:	52                   	push   %edx
413380:	51                   	push   %ecx
413381:	68 78 ea 44 00       	push   $0x44ea78
413386:	68 80 e2 44 00       	push   $0x44e280
41338b:	68 2c af 44 00       	push   $0x44af2c
413390:	6a 14                	push   $0x14
413392:	53                   	push   %ebx
413393:	eb 69                	jmp    0x4133fe
413395:	8b 35 b0 61 45 00    	mov    0x4561b0,%esi
41339b:	85 f6                	test   %esi,%esi
41339d:	74 36                	je     0x4133d5
41339f:	83 7f 14 08          	cmpl   $0x8,0x14(%edi)
4133a3:	8b c7                	mov    %edi,%eax
4133a5:	72 02                	jb     0x4133a9
4133a7:	8b 07                	mov    (%edi),%eax
4133a9:	52                   	push   %edx
4133aa:	50                   	push   %eax
4133ab:	68 78 ea 44 00       	push   $0x44ea78
4133b0:	68 2c af 44 00       	push   $0x44af2c
4133b5:	68 2c af 44 00       	push   $0x44af2c
4133ba:	68 80 e2 44 00       	push   $0x44e280
4133bf:	68 90 df 44 00       	push   $0x44df90
4133c4:	6a 14                	push   $0x14
4133c6:	8b ce                	mov    %esi,%ecx
4133c8:	ff 15 3c f2 43 00    	call   *0x43f23c
4133ce:	ff d6                	call   *%esi
4133d0:	83 c4 20             	add    $0x20,%esp
4133d3:	eb 39                	jmp    0x41340e
4133d5:	a1 b4 61 45 00       	mov    0x4561b4,%eax
4133da:	85 c0                	test   %eax,%eax
4133dc:	74 30                	je     0x41340e
4133de:	83 7f 14 08          	cmpl   $0x8,0x14(%edi)
4133e2:	8b cf                	mov    %edi,%ecx
4133e4:	72 02                	jb     0x4133e8
4133e6:	8b 0f                	mov    (%edi),%ecx
4133e8:	8b 30                	mov    (%eax),%esi
4133ea:	52                   	push   %edx
4133eb:	51                   	push   %ecx
4133ec:	68 78 ea 44 00       	push   $0x44ea78
4133f1:	68 80 e2 44 00       	push   $0x44e280
4133f6:	68 2c af 44 00       	push   $0x44af2c
4133fb:	6a 14                	push   $0x14
4133fd:	50                   	push   %eax
4133fe:	8b 76 34             	mov    0x34(%esi),%esi
413401:	8b ce                	mov    %esi,%ecx