44cf09:	89 8d f4 f1 ff ff    	mov    %ecx,-0xe0c(%ebp)
44cf0f:	8b c1                	mov    %ecx,%eax
44cf11:	89 85 f0 f1 ff ff    	mov    %eax,-0xe10(%ebp)
44cf17:	85 f6                	test   %esi,%esi
44cf19:	74 49                	je     0x44cf64
44cf1b:	8b ce                	mov    %esi,%ecx
44cf1d:	3b d6                	cmp    %esi,%edx
44cf1f:	0f 82 b4 00 00 00    	jb     0x44cfd9
44cf25:	76 39                	jbe    0x44cf60
44cf27:	8d 41 04             	lea    0x4(%ecx),%eax
44cf2a:	3b c1                	cmp    %ecx,%eax
44cf2c:	0f 82 a7 00 00 00    	jb     0x44cfd9
44cf32:	3b c2                	cmp    %edx,%eax
44cf34:	77 53                	ja     0x44cf89
44cf36:	8b 01                	mov    (%ecx),%eax
44cf38:	83 c0 04             	add    $0x4,%eax
44cf3b:	83 f8 04             	cmp    $0x4,%eax
44cf3e:	72 50                	jb     0x44cf90
44cf40:	03 c1                	add    %ecx,%eax
44cf42:	3b c1                	cmp    %ecx,%eax
44cf44:	0f 82 8f 00 00 00    	jb     0x44cfd9
44cf4a:	8b c8                	mov    %eax,%ecx
44cf4c:	3b ca                	cmp    %edx,%ecx
44cf4e:	77 39                	ja     0x44cf89
44cf50:	ff 85 f4 f1 ff ff    	incl   -0xe0c(%ebp)
44cf56:	3b ca                	cmp    %edx,%ecx
44cf58:	72 cd                	jb     0x44cf27
44cf5a:	8b 85 f0 f1 ff ff    	mov    -0xe10(%ebp),%eax
44cf60:	3b ca                	cmp    %edx,%ecx
44cf62:	75 25                	jne    0x44cf89
44cf64:	85 ff                	test   %edi,%edi
44cf66:	74 2f                	je     0x44cf97
44cf68:	57                   	push   %edi
44cf69:	6a 08                	push   $0x8
44cf6b:	ff 15 74 72 4a 00    	call   *0x4a7274
44cf71:	50                   	push   %eax
44cf72:	ff 15 84 72 4a 00    	call   *0x4a7284
44cf78:	89 85 f0 f1 ff ff    	mov    %eax,-0xe10(%ebp)
44cf7e:	85 c0                	test   %eax,%eax
44cf80:	75 15                	jne    0x44cf97
44cf82:	be 17 00 00 c0       	mov    $0xc0000017,%esi
44cf87:	eb 39                	jmp    0x44cfc2
44cf89:	be 0d 00 00 c0       	mov    $0xc000000d,%esi
44cf8e:	eb 4e                	jmp    0x44cfde
44cf90:	be 95 00 00 c0       	mov    $0xc0000095,%esi
44cf95:	eb 2b                	jmp    0x44cfc2
44cf97:	85 f6                	test   %esi,%esi
44cf99:	74 11                	je     0x44cfac
44cf9b:	57                   	push   %edi
44cf9c:	56                   	push   %esi
44cf9d:	50                   	push   %eax
44cf9e:	e8 8a 40 04 00       	call   0x49102d
44cfa3:	8b 85 f0 f1 ff ff    	mov    -0xe10(%ebp),%eax
44cfa9:	83 c4 0c             	add    $0xc,%esp
44cfac:	89 85 fc f0 ff ff    	mov    %eax,-0xf04(%ebp)
44cfb2:	8b 85 f4 f1 ff ff    	mov    -0xe0c(%ebp),%eax
44cfb8:	89 85 f4 f0 ff ff    	mov    %eax,-0xf0c(%ebp)
44cfbe:	33 c0                	xor    %eax,%eax
44cfc0:	8b f0                	mov    %eax,%esi
44cfc2:	85 f6                	test   %esi,%esi
44cfc4:	78 18                	js     0x44cfde
44cfc6:	8b 85 b0 f1 ff ff    	mov    -0xe50(%ebp),%eax
44cfcc:	3b 85 f4 f0 ff ff    	cmp    -0xf0c(%ebp),%eax
44cfd2:	74 0a                	je     0x44cfde
44cfd4:	e9 bf fe ff ff       	jmp    0x44ce98
44cfd9:	be 95 00 00 c0       	mov    $0xc0000095,%esi
44cfde:	81 ce 00 00 00 10    	or     $0x10000000,%esi
44cfe4:	8b 85 bc f1 ff ff    	mov    -0xe44(%ebp),%eax
44cfea:	85 c0                	test   %eax,%eax
44cfec:	74 11                	je     0x44cfff
44cfee:	50                   	push   %eax
44cfef:	33 c0                	xor    %eax,%eax
44cff1:	50                   	push   %eax
44cff2:	ff 15 74 72 4a 00    	call   *0x4a7274
44cff8:	50                   	push   %eax
44cff9:	ff 15 94 72 4a 00    	call   *0x4a7294
44cfff:	8b bd 60 f1 ff ff    	mov    -0xea0(%ebp),%edi
44d005:	85 ff                	test   %edi,%edi
44d007:	74 64                	je     0x44d06d
44d009:	33 c0                	xor    %eax,%eax
44d00b:	39 47 04             	cmp    %eax,0x4(%edi)
44d00e:	74 16                	je     0x44d026
44d010:	ff 77 04             	push   0x4(%edi)
44d013:	50                   	push   %eax
44d014:	ff 15 74 72 4a 00    	call   *0x4a7274
44d01a:	50                   	push   %eax
44d01b:	ff 15 94 72 4a 00    	call   *0x4a7294
44d021:	33 c0                	xor    %eax,%eax
44d023:	89 47 04             	mov    %eax,0x4(%edi)
44d026:	83 7f 0c 00          	cmpl   $0x0,0xc(%edi)
44d02a:	74 16                	je     0x44d042
44d02c:	ff 77 0c             	push   0xc(%edi)
44d02f:	50                   	push   %eax
44d030:	ff 15 74 72 4a 00    	call   *0x4a7274
44d036:	50                   	push   %eax
44d037:	ff 15 94 72 4a 00    	call   *0x4a7294
44d03d:	33 c0                	xor    %eax,%eax
44d03f:	89 47 0c             	mov    %eax,0xc(%edi)
44d042:	83 7f 14 00          	cmpl   $0x0,0x14(%edi)
44d046:	74 16                	je     0x44d05e
44d048:	ff 77 14             	push   0x14(%edi)
44d04b:	50                   	push   %eax
44d04c:	ff 15 74 72 4a 00    	call   *0x4a7274
44d052:	50                   	push   %eax
44d053:	ff 15 94 72 4a 00    	call   *0x4a7294
44d059:	33 c0                	xor    %eax,%eax
44d05b:	89 47 14             	mov    %eax,0x14(%edi)
44d05e:	57                   	push   %edi
44d05f:	50                   	push   %eax
44d060:	ff 15 74 72 4a 00    	call   *0x4a7274
44d066:	50                   	push   %eax
44d067:	ff 15 94 72 4a 00    	call   *0x4a7294
44d06d:	8b 85 98 f1 ff ff    	mov    -0xe68(%ebp),%eax
44d073:	85 c0                	test   %eax,%eax
44d075:	74 11                	je     0x44d088
44d077:	50                   	push   %eax
44d078:	33 c0                	xor    %eax,%eax
44d07a:	50                   	push   %eax
44d07b:	ff 15 74 72 4a 00    	call   *0x4a7274
44d081:	50                   	push   %eax
44d082:	ff 15 94 72 4a 00    	call   *0x4a7294
44d088:	8b 85 e4 f1 ff ff    	mov    -0xe1c(%ebp),%eax
44d08e:	85 c0                	test   %eax,%eax
44d090:	74 11                	je     0x44d0a3
44d092:	50                   	push   %eax
44d093:	33 c0                	xor    %eax,%eax
44d095:	50                   	push   %eax
44d096:	ff 15 74 72 4a 00    	call   *0x4a7274
44d09c:	50                   	push   %eax
44d09d:	ff 15 94 72 4a 00    	call   *0x4a7294
44d0a3:	8b bd 88 f1 ff ff    	mov    -0xe78(%ebp),%edi
44d0a9:	85 ff                	test   %edi,%edi
44d0ab:	74 64                	je     0x44d111
44d0ad:	33 c0                	xor    %eax,%eax
44d0af:	39 47 04             	cmp    %eax,0x4(%edi)
44d0b2:	74 16                	je     0x44d0ca
44d0b4:	ff 77 04             	push   0x4(%edi)
44d0b7:	50                   	push   %eax
44d0b8:	ff 15 74 72 4a 00    	call   *0x4a7274
44d0be:	50                   	push   %eax
44d0bf:	ff 15 94 72 4a 00    	call   *0x4a7294
44d0c5:	33 c0                	xor    %eax,%eax
44d0c7:	89 47 04             	mov    %eax,0x4(%edi)
44d0ca:	83 7f 0c 00          	cmpl   $0x0,0xc(%edi)
44d0ce:	74 16                	je     0x44d0e6
44d0d0:	ff 77 0c             	push   0xc(%edi)
44d0d3:	50                   	push   %eax
44d0d4:	ff 15 74 72 4a 00    	call   *0x4a7274
44d0da:	50                   	push   %eax
44d0db:	ff 15 94 72 4a 00    	call   *0x4a7294
44d0e1:	33 c0                	xor    %eax,%eax
44d0e3:	89 47 0c             	mov    %eax,0xc(%edi)
44d0e6:	83 7f 14 00          	cmpl   $0x0,0x14(%edi)
44d0ea:	74 16                	je     0x44d102
44d0ec:	ff 77 14             	push   0x14(%edi)
44d0ef:	50                   	push   %eax
44d0f0:	ff 15 74 72 4a 00    	call   *0x4a7274
44d0f6:	50                   	push   %eax
44d0f7:	ff 15 94 72 4a 00    	call   *0x4a7294
44d0fd:	33 c0                	xor    %eax,%eax
44d0ff:	89 47 14             	mov    %eax,0x14(%edi)
44d102:	57                   	push   %edi
44d103:	50                   	push   %eax
44d104:	ff 15 74 72 4a 00    	call   *0x4a7274
44d10a:	50                   	push   %eax
44d10b:	ff 15 94 72 4a 00    	call   *0x4a7294
44d111:	8b 85 9c f1 ff ff    	mov    -0xe64(%ebp),%eax
44d117:	85 c0                	test   %eax,%eax
44d119:	74 11                	je     0x44d12c
44d11b:	50                   	push   %eax
44d11c:	33 c0                	xor    %eax,%eax
44d11e:	50                   	push   %eax
44d11f:	ff 15 74 72 4a 00    	call   *0x4a7274
44d125:	50                   	push   %eax
44d126:	ff 15 94 72 4a 00    	call   *0x4a7294
44d12c:	85 f6                	test   %esi,%esi
44d12e:	78 70                	js     0x44d1a0
44d130:	33 ff                	xor    %edi,%edi
44d132:	47                   	inc    %edi
44d133:	39 bd f4 f0 ff ff    	cmp    %edi,-0xf0c(%ebp)
44d139:	72 65                	jb     0x44d1a0
44d13b:	8b 85 fc f0 ff ff    	mov    -0xf04(%ebp),%eax
44d141:	85 c0                	test   %eax,%eax
44d143:	74 5b                	je     0x44d1a0
44d145:	83 bd f4 f0 ff ff 00 	cmpl   $0x0,-0xf0c(%ebp)
44d14c:	76 52                	jbe    0x44d1a0
44d14e:	8b 10                	mov    (%eax),%edx
44d150:	8d 48 04             	lea    0x4(%eax),%ecx
44d153:	3b c8                	cmp    %eax,%ecx
44d155:	72 04                	jb     0x44d15b
44d157:	33 c0                	xor    %eax,%eax
44d159:	eb 08                	jmp    0x44d163
44d15b:	83 c9 ff             	or     $0xffffffff,%ecx
44d15e:	b8 95 00 00 c0       	mov    $0xc0000095,%eax
44d163:	85 c0                	test   %eax,%eax
44d165:	78 39                	js     0x44d1a0
44d167:	8b c2                	mov    %edx,%eax
44d169:	f7 d8                	neg    %eax
44d16b:	1b c0                	sbb    %eax,%eax
44d16d:	23 c1                	and    %ecx,%eax
44d16f:	83 fa 04             	cmp    $0x4,%edx
44d172:	75 2c                	jne    0x44d1a0
44d174:	83 38 00             	cmpl   $0x0,(%eax)
44d177:	7c 27                	jl     0x44d1a0
44d179:	39 bd f4 f0 ff ff    	cmp    %edi,-0xf0c(%ebp)
44d17f:	76 1f                	jbe    0x44d1a0
44d181:	8b 85 fc f0 ff ff    	mov    -0xf04(%ebp),%eax
44d187:	33 c9                	xor    %ecx,%ecx
44d189:	8b d1                	mov    %ecx,%edx
44d18b:	8b 30                	mov    (%eax),%esi
44d18d:	8d 48 04             	lea    0x4(%eax),%ecx
44d190:	3b c8                	cmp    %eax,%ecx
44d192:	72 0c                	jb     0x44d1a0
44d194:	8d 04 0e             	lea    (%esi,%ecx,1),%eax
44d197:	3b c1                	cmp    %ecx,%eax
44d199:	72 05                	jb     0x44d1a0
44d19b:	42                   	inc    %edx
44d19c:	3b d7                	cmp    %edi,%edx
44d19e:	72 eb                	jb     0x44d18b
44d1a0:	8b b5 24 f2 ff ff    	mov    -0xddc(%ebp),%esi
44d1a6:	8b bd 10 f2 ff ff    	mov    -0xdf0(%ebp),%edi
44d1ac:	eb 0a                	jmp    0x44d1b8
44d1ae:	8b b5 24 f2 ff ff    	mov    -0xddc(%ebp),%esi
44d1b4:	eb 02                	jmp    0x44d1b8
44d1b6:	8b fe                	mov    %esi,%edi
44d1b8:	33 d2                	xor    %edx,%edx
44d1ba:	89 95 74 f1 ff ff    	mov    %edx,-0xe8c(%ebp)
44d1c0:	89 95 70 f1 ff ff    	mov    %edx,-0xe90(%ebp)
44d1c6:	39 95 78 f1 ff ff    	cmp    %edx,-0xe88(%ebp)
44d1cc:	74 1c                	je     0x44d1ea
44d1ce:	ff b5 78 f1 ff ff    	push   -0xe88(%ebp)
44d1d4:	52                   	push   %edx
44d1d5:	ff 15 74 72 4a 00    	call   *0x4a7274
44d1db:	50                   	push   %eax
44d1dc:	ff 15 94 72 4a 00    	call   *0x4a7294
44d1e2:	33 d2                	xor    %edx,%edx
44d1e4:	89 95 78 f1 ff ff    	mov    %edx,-0xe88(%ebp)
44d1ea:	8b 85 fc f0 ff ff    	mov    -0xf04(%ebp),%eax
44d1f0:	85 c0                	test   %eax,%eax
44d1f2:	74 0f                	je     0x44d203
44d1f4:	50                   	push   %eax
44d1f5:	52                   	push   %edx
44d1f6:	ff 15 74 72 4a 00    	call   *0x4a7274
44d1fc:	50                   	push   %eax
44d1fd:	ff 15 94 72 4a 00    	call   *0x4a7294
44d203:	85 f6                	test   %esi,%esi
44d205:	74 11                	je     0x44d218
44d207:	56                   	push   %esi
44d208:	33 c0                	xor    %eax,%eax
44d20a:	50                   	push   %eax
44d20b:	ff 15 74 72 4a 00    	call   *0x4a7274
44d211:	50                   	push   %eax
44d212:	ff 15 94 72 4a 00    	call   *0x4a7294
44d218:	85 ff                	test   %edi,%edi
44d21a:	74 11                	je     0x44d22d
44d21c:	57                   	push   %edi
44d21d:	33 c0                	xor    %eax,%eax
44d21f:	50                   	push   %eax
44d220:	ff 15 74 72 4a 00    	call   *0x4a7274
44d226:	50                   	push   %eax
44d227:	ff 15 94 72 4a 00    	call   *0x4a7294
44d22d:	8b 85 40 f1 ff ff    	mov    -0xec0(%ebp),%eax
44d233:	33 d2                	xor    %edx,%edx
44d235:	89 95 40 f1 ff ff    	mov    %edx,-0xec0(%ebp)
44d23b:	89 85 f0 f0 ff ff    	mov    %eax,-0xf10(%ebp)
44d241:	e9 ca 70 ff ff       	jmp    0x444310
44d246:	3d e5 00 00 d0       	cmp    $0xd00000e5,%eax
44d24b:	74 18                	je     0x44d265
44d24d:	3d 01 d5 04 c0       	cmp    $0xc004d501,%eax
44d252:	74 11                	je     0x44d265
44d254:	3d 3e 00 00 d0       	cmp    $0xd000003e,%eax
44d259:	75 0f                	jne    0x44d26a
44d25b:	b8 28 f0 04 c0       	mov    $0xc004f028,%eax
44d260:	e9 45 71 ff ff       	jmp    0x4443aa
44d265:	b8 27 f0 04 c0       	mov    $0xc004f027,%eax
44d26a:	85 c0                	test   %eax,%eax
44d26c:	79 12                	jns    0x44d280
44d26e:	3d 7a 00 07 80       	cmp    $0x8007007a,%eax
44d273:	0f 85 31 71 ff ff    	jne    0x4443aa
44d279:	be 1e f0 04 c0       	mov    $0xc004f01e,%esi
44d27e:	eb 14                	jmp    0x44d294
44d280:	83 bd 3c f1 ff ff 04 	cmpl   $0x4,-0xec4(%ebp)
44d287:	be 1e f0 04 c0       	mov    $0xc004f01e,%esi
44d28c:	75 06                	jne    0x44d294
44d28e:	8b b5 64 f1 ff ff    	mov    -0xe9c(%ebp),%esi
44d294:	8d 8d f0 f0 ff ff    	lea    -0xf10(%ebp),%ecx
44d29a:	e8 1e d5 01 00       	call   0x46a7bd
44d29f:	81 fe 27 f0 04 c0    	cmp    $0xc004f027,%esi
44d2a5:	74 27                	je     0x44d2ce
44d2a7:	81 fe 01 d3 04 c0    	cmp    $0xc004d301,%esi
44d2ad:	74 1f                	je     0x44d2ce
44d2af:	81 fe 00 d5 04 c0    	cmp    $0xc004d500,%esi
44d2b5:	7e 08                	jle    0x44d2bf
44d2b7:	81 fe 02 d5 04 c0    	cmp    $0xc004d502,%esi
44d2bd:	7e 0f                	jle    0x44d2ce
44d2bf:	85 f6                	test   %esi,%esi
44d2c1:	79 0b                	jns    0x44d2ce
44d2c3:	3b f7                	cmp    %edi,%esi
44d2c5:	74 07                	je     0x44d2ce
44d2c7:	8b ce                	mov    %esi,%ecx
44d2c9:	e8 d7 d4 01 00       	call   0x46a7a5
44d2ce:	f6 05 c0 46 4a 00 02 	testb  $0x2,0x4a46c0
44d2d5:	74 1d                	je     0x44d2f4
44d2d7:	8d 85 cc fc ff ff    	lea    -0x334(%ebp),%eax
44d2dd:	ba 78 f4 40 00       	mov    $0x40f478,%edx
44d2e2:	50                   	push   %eax
44d2e3:	33 c0                	xor    %eax,%eax
44d2e5:	b9 08 00 4a 00       	mov    $0x4a0008,%ecx
44d2ea:	40                   	inc    %eax
44d2eb:	50                   	push   %eax
44d2ec:	33 c0                	xor    %eax,%eax
44d2ee:	50                   	push   %eax
44d2ef:	e8 af 81 fd ff       	call   0x4254a3
44d2f4:	33 c0                	xor    %eax,%eax
44d2f6:	40                   	inc    %eax
44d2f7:	33 c9                	xor    %ecx,%ecx
44d2f9:	8b f0                	mov    %eax,%esi
44d2fb:	51                   	push   %ecx
44d2fc:	50                   	push   %eax
44d2fd:	8d 8d d4 f9 ff ff    	lea    -0x62c(%ebp),%ecx
44d303:	c7 45 fc 12 00 00 00 	movl   $0x12,-0x4(%ebp)
44d30a:	e8 b5 f4 fc ff       	call   0x41c7c4
44d30f:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
44d313:	8b c6                	mov    %esi,%eax
44d315:	eb 38                	jmp    0x44d34f
44d317:	85 c0                	test   %eax,%eax
44d319:	74 05                	je     0x44d320
44d31b:	e8 17 9b 02 00       	call   0x476e37
44d320:	ff 15 6c 7a 4a 00    	call   *0x4a7a6c
44d326:	f6 05 c0 46 4a 00 02 	testb  $0x2,0x4a46c0
44d32d:	74 1d                	je     0x44d34c
44d32f:	33 c0                	xor    %eax,%eax
44d331:	8d 8d bc fc ff ff    	lea    -0x344(%ebp),%ecx
44d337:	51                   	push   %ecx
44d338:	40                   	inc    %eax
44d339:	ba 78 f4 40 00       	mov    $0x40f478,%edx
44d33e:	50                   	push   %eax
44d33f:	33 c0                	xor    %eax,%eax
44d341:	b9 08 00 4a 00       	mov    $0x4a0008,%ecx
44d346:	50                   	push   %eax
44d347:	e8 57 81 fd ff       	call   0x4254a3
44d34c:	33 c0                	xor    %eax,%eax
44d34e:	40                   	inc    %eax
44d34f:	e8 61 31 04 00       	call   0x4904b5
44d354:	c3                   	ret
44d355:	8b ff                	mov    %edi,%edi
44d357:	55                   	push   %ebp
44d358:	8b ec                	mov    %esp,%ebp
44d35a:	83 e4 f8             	and    $0xfffffff8,%esp
44d35d:	81 ec 10 02 00 00    	sub    $0x210,%esp