445e8d:	8b f0                	mov    %eax,%esi
445e8f:	e8 ca 96 fd ff       	call   0x41f55e
445e94:	59                   	pop    %ecx
445e95:	33 c0                	xor    %eax,%eax
445e97:	3b f7                	cmp    %edi,%esi
445e99:	5f                   	pop    %edi
445e9a:	5e                   	pop    %esi
445e9b:	0f 94 c0             	sete   %al
445e9e:	5b                   	pop    %ebx
445e9f:	c9                   	leave
445ea0:	c2 04 00             	ret    $0x4
445ea3:	55                   	push   %ebp
445ea4:	8b ec                	mov    %esp,%ebp
445ea6:	8b 45 08             	mov    0x8(%ebp),%eax
445ea9:	56                   	push   %esi
445eaa:	8b 70 04             	mov    0x4(%eax),%esi
445ead:	03 f6                	add    %esi,%esi
445eaf:	56                   	push   %esi
445eb0:	ff 30                	push   (%eax)
445eb2:	e8 27 ff ff ff       	call   0x445dde
445eb7:	2b c6                	sub    %esi,%eax
445eb9:	f7 d8                	neg    %eax
445ebb:	1b c0                	sbb    %eax,%eax
445ebd:	40                   	inc    %eax
445ebe:	5e                   	pop    %esi
445ebf:	5d                   	pop    %ebp
445ec0:	c2 04 00             	ret    $0x4
445ec3:	55                   	push   %ebp
445ec4:	8b ec                	mov    %esp,%ebp
445ec6:	56                   	push   %esi
445ec7:	8b f1                	mov    %ecx,%esi
445ec9:	83 66 08 00          	andl   $0x0,0x8(%esi)
445ecd:	c7 46 04 01 00 00 00 	movl   $0x1,0x4(%esi)
445ed4:	e8 f4 51 ff ff       	call   0x43b0cd
445ed9:	6a 04                	push   $0x4
445edb:	e8 0a 96 fd ff       	call   0x41f4ea
445ee0:	59                   	pop    %ecx
445ee1:	8b 4d 08             	mov    0x8(%ebp),%ecx
445ee4:	89 06                	mov    %eax,(%esi)
445ee6:	89 08                	mov    %ecx,(%eax)
445ee8:	8b c6                	mov    %esi,%eax
445eea:	5e                   	pop    %esi
445eeb:	5d                   	pop    %ebp
445eec:	c2 04 00             	ret    $0x4
445eef:	55                   	push   %ebp
445ef0:	8b ec                	mov    %esp,%ebp
445ef2:	83 ec 14             	sub    $0x14,%esp
445ef5:	53                   	push   %ebx
445ef6:	56                   	push   %esi
445ef7:	8b f1                	mov    %ecx,%esi
445ef9:	57                   	push   %edi
445efa:	8b 5e 04             	mov    0x4(%esi),%ebx
445efd:	53                   	push   %ebx
445efe:	8d 4d f0             	lea    -0x10(%ebp),%ecx
445f01:	e8 09 0c fc ff       	call   0x406b0f
445f06:	33 ff                	xor    %edi,%edi
445f08:	85 db                	test   %ebx,%ebx
445f0a:	74 31                	je     0x445f3d
445f0c:	57                   	push   %edi
445f0d:	8b ce                	mov    %esi,%ecx
445f0f:	e8 92 02 fc ff       	call   0x4061a6
445f14:	66 83 38 0a          	cmpw   $0xa,(%eax)
445f18:	75 0a                	jne    0x445f24
445f1a:	6a 0d                	push   $0xd
445f1c:	8d 4d f0             	lea    -0x10(%ebp),%ecx
445f1f:	e8 75 68 fc ff       	call   0x40c799
445f24:	57                   	push   %edi
445f25:	8b ce                	mov    %esi,%ecx
445f27:	e8 7a 02 fc ff       	call   0x4061a6
445f2c:	0f b7 00             	movzwl (%eax),%eax
445f2f:	50                   	push   %eax
445f30:	8d 4d f0             	lea    -0x10(%ebp),%ecx
445f33:	e8 61 68 fc ff       	call   0x40c799
445f38:	47                   	inc    %edi
445f39:	3b fb                	cmp    %ebx,%edi
445f3b:	72 cf                	jb     0x445f0c
445f3d:	8d 45 f0             	lea    -0x10(%ebp),%eax
445f40:	50                   	push   %eax
445f41:	8b ce                	mov    %esi,%ecx
445f43:	e8 a5 0f fc ff       	call   0x406eed
445f48:	8d 4d f0             	lea    -0x10(%ebp),%ecx
445f4b:	e8 e7 6b fc ff       	call   0x40cb37
445f50:	5f                   	pop    %edi
445f51:	5e                   	pop    %esi
445f52:	5b                   	pop    %ebx
445f53:	c9                   	leave
445f54:	c3                   	ret
445f55:	56                   	push   %esi
445f56:	8b f1                	mov    %ecx,%esi
445f58:	80 fa 01             	cmp    $0x1,%dl
445f5b:	75 0d                	jne    0x445f6a
445f5d:	e8 a6 13 00 00       	call   0x447308
445f62:	84 c0                	test   %al,%al
445f64:	75 1d                	jne    0x445f83
445f66:	6a 01                	push   $0x1
445f68:	eb 02                	jmp    0x445f6c
445f6a:	6a 00                	push   $0x0
445f6c:	6a 00                	push   $0x0
445f6e:	56                   	push   %esi
445f6f:	ff 15 48 d6 48 00    	call   *0x48d648
445f75:	50                   	push   %eax
445f76:	ff 15 74 d1 48 00    	call   *0x48d174
445f7c:	50                   	push   %eax
445f7d:	ff 15 4c d6 48 00    	call   *0x48d64c
445f83:	5e                   	pop    %esi
445f84:	c3                   	ret
445f85:	55                   	push   %ebp
445f86:	8b ec                	mov    %esp,%ebp
445f88:	b8 20 00 02 00       	mov    $0x20020,%eax
445f8d:	e8 0e 99 fe ff       	call   0x42f8a0
445f92:	56                   	push   %esi
445f93:	8d 85 e0 ff fd ff    	lea    -0x20020(%ebp),%eax
445f99:	8b f2                	mov    %edx,%esi
445f9b:	50                   	push   %eax
445f9c:	ba ff 7f 00 00       	mov    $0x7fff,%edx
445fa1:	e8 15 0f 00 00       	call   0x446ebb
445fa6:	8d 85 e0 ff fe ff    	lea    -0x10020(%ebp),%eax
445fac:	50                   	push   %eax
445fad:	ba ff 7f 00 00       	mov    $0x7fff,%edx
445fb2:	8b ce                	mov    %esi,%ecx
445fb4:	e8 02 0f 00 00       	call   0x446ebb
445fb9:	59                   	pop    %ecx
445fba:	59                   	pop    %ecx
445fbb:	8d 85 e0 ff fe ff    	lea    -0x10020(%ebp),%eax
445fc1:	50                   	push   %eax
445fc2:	8d 85 e0 ff fd ff    	lea    -0x20020(%ebp),%eax
445fc8:	50                   	push   %eax
445fc9:	ff 15 24 d3 48 00    	call   *0x48d324
445fcf:	5e                   	pop    %esi
445fd0:	85 c0                	test   %eax,%eax
445fd2:	75 3a                	jne    0x44600e
445fd4:	38 45 08             	cmp    %al,0x8(%ebp)
445fd7:	74 31                	je     0x44600a
445fd9:	8d 85 e0 ff fe ff    	lea    -0x10020(%ebp),%eax
445fdf:	50                   	push   %eax
445fe0:	8d 85 e0 ff fd ff    	lea    -0x20020(%ebp),%eax
445fe6:	50                   	push   %eax
445fe7:	e8 f7 b5 fd ff       	call   0x4215e3
445fec:	59                   	pop    %ecx
445fed:	59                   	pop    %ecx
445fee:	85 c0                	test   %eax,%eax
445ff0:	74 14                	je     0x446006
445ff2:	8d 85 e0 ff fe ff    	lea    -0x10020(%ebp),%eax
445ff8:	50                   	push   %eax
445ff9:	8d 85 e0 ff fd ff    	lea    -0x20020(%ebp),%eax
445fff:	50                   	push   %eax
446000:	ff 15 04 d2 48 00    	call   *0x48d204
446006:	b0 01                	mov    $0x1,%al
446008:	c9                   	leave
446009:	c3                   	ret
44600a:	32 c0                	xor    %al,%al
44600c:	c9                   	leave
44600d:	c3                   	ret
44600e:	8d 8d e0 ff fd ff    	lea    -0x20020(%ebp),%ecx
446014:	e8 b2 12 00 00       	call   0x4472cb
446019:	84 c0                	test   %al,%al
44601b:	74 ed                	je     0x44600a
44601d:	8d 8d e0 ff fe ff    	lea    -0x10020(%ebp),%ecx
446023:	e8 a3 12 00 00       	call   0x4472cb
446028:	84 c0                	test   %al,%al
44602a:	0f 84 88 00 00 00    	je     0x4460b8
446030:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
446034:	74 d4                	je     0x44600a
446036:	8d 85 e0 ff fd ff    	lea    -0x20020(%ebp),%eax
44603c:	68 44 37 4b 00       	push   $0x4b3744
446041:	50                   	push   %eax
446042:	e8 ad ac fd ff       	call   0x420cf4
446047:	8d 85 e0 ff fd ff    	lea    -0x20020(%ebp),%eax
44604d:	50                   	push   %eax
44604e:	e8 88 ac fd ff       	call   0x420cdb
446053:	33 c9                	xor    %ecx,%ecx
446055:	66 89 8c 45 e2 ff fd 	mov    %cx,-0x2001e(%ebp,%eax,2)
44605c:	ff
44605d:	8d 85 e0 ff fe ff    	lea    -0x10020(%ebp),%eax
446063:	50                   	push   %eax
446064:	e8 72 ac fd ff       	call   0x420cdb
446069:	33 c9                	xor    %ecx,%ecx
44606b:	66 89 8c 45 e2 ff fe 	mov    %cx,-0x1001e(%ebp,%eax,2)
446072:	ff
446073:	8d 85 e0 ff fd ff    	lea    -0x20020(%ebp),%eax
446079:	89 45 e8             	mov    %eax,-0x18(%ebp)
44607c:	8d 85 e0 ff fe ff    	lea    -0x10020(%ebp),%eax
446082:	89 45 ec             	mov    %eax,-0x14(%ebp)
446085:	33 c0                	xor    %eax,%eax
446087:	89 45 f6             	mov    %eax,-0xa(%ebp)
44608a:	89 45 fa             	mov    %eax,-0x6(%ebp)
44608d:	89 45 f2             	mov    %eax,-0xe(%ebp)
446090:	89 45 e0             	mov    %eax,-0x20(%ebp)
446093:	b8 14 06 00 00       	mov    $0x614,%eax
446098:	83 c4 10             	add    $0x10,%esp
44609b:	66 89 45 f0          	mov    %ax,-0x10(%ebp)
44609f:	8d 45 e0             	lea    -0x20(%ebp),%eax
4460a2:	50                   	push   %eax
4460a3:	c7 45 e4 02 00 00 00 	movl   $0x2,-0x1c(%ebp)
4460aa:	ff 15 9c d4 48 00    	call   *0x48d49c
4460b0:	f7 d8                	neg    %eax
4460b2:	1a c0                	sbb    %al,%al
4460b4:	fe c0                	inc    %al
4460b6:	c9                   	leave
4460b7:	c3                   	ret
4460b8:	8d 8d e0 ff fe ff    	lea    -0x10020(%ebp),%ecx
4460be:	e8 55 02 00 00       	call   0x446318
4460c3:	84 c0                	test   %al,%al
4460c5:	0f 84 3f ff ff ff    	je     0x44600a
4460cb:	8d 8d e0 ff fe ff    	lea    -0x10020(%ebp),%ecx
4460d1:	e8 f5 11 00 00       	call   0x4472cb
4460d6:	84 c0                	test   %al,%al
4460d8:	e9 57 ff ff ff       	jmp    0x446034
4460dd:	55                   	push   %ebp
4460de:	8b ec                	mov    %esp,%ebp
4460e0:	b8 64 08 04 00       	mov    $0x40864,%eax
4460e5:	e8 b6 97 fe ff       	call   0x42f8a0
4460ea:	53                   	push   %ebx
4460eb:	56                   	push   %esi
4460ec:	57                   	push   %edi
4460ed:	8d 85 a0 f7 fd ff    	lea    -0x20860(%ebp),%eax
4460f3:	8b f2                	mov    %edx,%esi
4460f5:	bf ff 7f 00 00       	mov    $0x7fff,%edi
4460fa:	33 db                	xor    %ebx,%ebx
4460fc:	50                   	push   %eax
4460fd:	8b d7                	mov    %edi,%edx
4460ff:	88 5d ff             	mov    %bl,-0x1(%ebp)
446102:	e8 b4 0d 00 00       	call   0x446ebb
446107:	59                   	pop    %ecx
446108:	8d 85 a0 f7 fb ff    	lea    -0x40860(%ebp),%eax
44610e:	50                   	push   %eax
44610f:	8b d7                	mov    %edi,%edx
446111:	8b ce                	mov    %esi,%ecx
446113:	e8 a3 0d 00 00       	call   0x446ebb
446118:	59                   	pop    %ecx
446119:	8d 95 a0 f7 fb ff    	lea    -0x40860(%ebp),%edx
44611f:	8d 8d a0 f7 fd ff    	lea    -0x20860(%ebp),%ecx
446125:	e8 34 11 00 00       	call   0x44725e
44612a:	8d 8d a0 f7 fd ff    	lea    -0x20860(%ebp),%ecx
446130:	88 45 fd             	mov    %al,-0x3(%ebp)
446133:	e8 93 11 00 00       	call   0x4472cb
446138:	be 44 37 4b 00       	mov    $0x4b3744,%esi
44613d:	84 c0                	test   %al,%al
44613f:	74 0f                	je     0x446150
446141:	8d 85 a0 f7 fd ff    	lea    -0x20860(%ebp),%eax
446147:	56                   	push   %esi
446148:	50                   	push   %eax
446149:	e8 a6 ab fd ff       	call   0x420cf4
44614e:	59                   	pop    %ecx
44614f:	59                   	pop    %ecx
446150:	8d 8d a0 f7 fb ff    	lea    -0x40860(%ebp),%ecx
446156:	e8 70 11 00 00       	call   0x4472cb
44615b:	84 c0                	test   %al,%al
44615d:	74 0f                	je     0x44616e
44615f:	8d 85 a0 f7 fb ff    	lea    -0x40860(%ebp),%eax
446165:	56                   	push   %esi
446166:	50                   	push   %eax
446167:	e8 88 ab fd ff       	call   0x420cf4
44616c:	59                   	pop    %ecx
44616d:	59                   	pop    %ecx
44616e:	8d 85 a0 f7 ff ff    	lea    -0x860(%ebp),%eax
446174:	50                   	push   %eax
446175:	8d 85 a0 fb ff ff    	lea    -0x460(%ebp),%eax
44617b:	50                   	push   %eax
44617c:	8d 85 a0 f9 ff ff    	lea    -0x660(%ebp),%eax
446182:	50                   	push   %eax
446183:	8d 45 f4             	lea    -0xc(%ebp),%eax
446186:	50                   	push   %eax
446187:	8d 85 a0 f7 fd ff    	lea    -0x20860(%ebp),%eax
44618d:	50                   	push   %eax
44618e:	e8 69 bc fd ff       	call   0x421dfc
446193:	83 c4 14             	add    $0x14,%esp
446196:	8d 85 a0 fd ff ff    	lea    -0x260(%ebp),%eax
44619c:	50                   	push   %eax
44619d:	8d 85 a0 f7 fd ff    	lea    -0x20860(%ebp),%eax
4461a3:	50                   	push   %eax
4461a4:	ff 15 f0 d1 48 00    	call   *0x48d1f0
4461aa:	8b f0                	mov    %eax,%esi
4461ac:	b0 01                	mov    $0x1,%al
4461ae:	88 45 fe             	mov    %al,-0x2(%ebp)
4461b1:	83 fe ff             	cmp    $0xffffffff,%esi
4461b4:	0f 84 4d 01 00 00    	je     0x446307
4461ba:	8b 3d dc d3 48 00    	mov    0x48d3dc,%edi
4461c0:	3c 01                	cmp    $0x1,%al
4461c2:	0f 85 3f 01 00 00    	jne    0x446307
4461c8:	f6 85 a0 fd ff ff 10 	testb  $0x10,-0x260(%ebp)
4461cf:	0f 85 04 01 00 00    	jne    0x4462d9
4461d5:	8d 85 a0 f7 fc ff    	lea    -0x30860(%ebp),%eax
4461db:	50                   	push   %eax
4461dc:	8d 85 a0 f7 fb ff    	lea    -0x40860(%ebp),%eax
4461e2:	50                   	push   %eax
4461e3:	8d 85 a0 f7 ff ff    	lea    -0x860(%ebp),%eax
4461e9:	50                   	push   %eax
4461ea:	8d 95 a0 fb ff ff    	lea    -0x460(%ebp),%edx
4461f0:	8d 8d cc fd ff ff    	lea    -0x234(%ebp),%ecx
4461f6:	e8 10 07 00 00       	call   0x44690b
4461fb:	83 c4 0c             	add    $0xc,%esp
4461fe:	8d 45 f4             	lea    -0xc(%ebp),%eax
446201:	50                   	push   %eax
446202:	8d 85 a0 f7 fe ff    	lea    -0x10860(%ebp),%eax
446208:	50                   	push   %eax
446209:	e8 15 ab fd ff       	call   0x420d23
44620e:	8d 85 a0 f9 ff ff    	lea    -0x660(%ebp),%eax
446214:	50                   	push   %eax
446215:	8d 85 a0 f7 fe ff    	lea    -0x10860(%ebp),%eax
44621b:	50                   	push   %eax
44621c:	e8 d3 aa fd ff       	call   0x420cf4
446221:	8d 85 cc fd ff ff    	lea    -0x234(%ebp),%eax
446227:	50                   	push   %eax
446228:	8d 85 a0 f7 fe ff    	lea    -0x10860(%ebp),%eax
44622e:	50                   	push   %eax
44622f:	e8 c0 aa fd ff       	call   0x420cf4
446234:	83 c4 18             	add    $0x18,%esp
446237:	8d 8d a0 f7 fc ff    	lea    -0x30860(%ebp),%ecx
44623d:	e8 e2 02 00 00       	call   0x446524
446242:	84 c0                	test   %al,%al
446244:	74 2a                	je     0x446270
446246:	38 5d 08             	cmp    %bl,0x8(%ebp)
446249:	0f 84 ad 00 00 00    	je     0x4462fc
44624f:	8d 85 a0 f7 fc ff    	lea    -0x30860(%ebp),%eax
446255:	50                   	push   %eax
446256:	8d 85 a0 f7 fe ff    	lea    -0x10860(%ebp),%eax
44625c:	50                   	push   %eax
44625d:	ff 15 24 d3 48 00    	call   *0x48d324
446263:	85 c0                	test   %eax,%eax
446265:	8d 85 a0 f7 fc ff    	lea    -0x30860(%ebp),%eax
44626b:	50                   	push   %eax
44626c:	74 23                	je     0x446291
44626e:	ff d7                	call   *%edi
446270:	80 7d 0c 01          	cmpb   $0x1,0xc(%ebp)
446274:	8d 85 a0 f7 fc ff    	lea    -0x30860(%ebp),%eax
44627a:	75 46                	jne    0x4462c2
44627c:	38 5d fd             	cmp    %bl,-0x3(%ebp)
44627f:	75 23                	jne    0x4462a4
446281:	50                   	push   %eax
446282:	8d 85 a0 f7 fe ff    	lea    -0x10860(%ebp),%eax
446288:	50                   	push   %eax
446289:	ff 15 04 d2 48 00    	call   *0x48d204
44628f:	eb 40                	jmp    0x4462d1
446291:	8d 85 a0 f7 fe ff    	lea    -0x10860(%ebp),%eax
446297:	50                   	push   %eax
446298:	ff 15 04 d2 48 00    	call   *0x48d204
44629e:	85 c0                	test   %eax,%eax
4462a0:	74 68                	je     0x44630a
4462a2:	eb 31                	jmp    0x4462d5
4462a4:	53                   	push   %ebx
4462a5:	50                   	push   %eax
4462a6:	8d 85 a0 f7 fe ff    	lea    -0x10860(%ebp),%eax
4462ac:	50                   	push   %eax
4462ad:	ff 15 08 d2 48 00    	call   *0x48d208
4462b3:	85 c0                	test   %eax,%eax
4462b5:	74 45                	je     0x4462fc
4462b7:	8d 85 a0 f7 fe ff    	lea    -0x10860(%ebp),%eax
4462bd:	50                   	push   %eax
4462be:	ff d7                	call   *%edi