455e3d:	e8 5e e2 ff ff       	call   0x4540a0
455e42:	8b d0                	mov    %eax,%edx
455e44:	03 56 4c             	add    0x4c(%esi),%edx
455e47:	8b c3                	mov    %ebx,%eax
455e49:	e8 7a e2 ff ff       	call   0x4540c8
455e4e:	5e                   	pop    %esi
455e4f:	5b                   	pop    %ebx
455e50:	c3                   	ret
455e51:	8d 40 00             	lea    0x0(%eax),%eax
455e54:	53                   	push   %ebx
455e55:	56                   	push   %esi
455e56:	57                   	push   %edi
455e57:	83 c4 f8             	add    $0xfffffff8,%esp
455e5a:	8b f1                	mov    %ecx,%esi
455e5c:	8d 3c 24             	lea    (%esp),%edi
455e5f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
455e60:	a5                   	movsl  %ds:(%esi),%es:(%edi)
455e61:	8b d8                	mov    %eax,%ebx
455e63:	89 53 60             	mov    %edx,0x60(%ebx)
455e66:	8b 43 14             	mov    0x14(%ebx),%eax
455e69:	e8 3e bb ff ff       	call   0x4519ac
455e6e:	8b d0                	mov    %eax,%edx
455e70:	a1 18 b5 4a 00       	mov    0x4ab518,%eax
455e75:	e8 0a 0e 00 00       	call   0x456c84
455e7a:	8b 43 14             	mov    0x14(%ebx),%eax
455e7d:	e8 2a bb ff ff       	call   0x4519ac
455e82:	8b f0                	mov    %eax,%esi
455e84:	89 73 5c             	mov    %esi,0x5c(%ebx)
455e87:	68 12 04 00 00       	push   $0x412
455e8c:	6a 00                	push   $0x0
455e8e:	56                   	push   %esi
455e8f:	e8 f4 10 fb ff       	call   0x406f88
455e94:	89 43 58             	mov    %eax,0x58(%ebx)
455e97:	8b 04 24             	mov    (%esp),%eax
455e9a:	89 43 50             	mov    %eax,0x50(%ebx)
455e9d:	8b 44 24 04          	mov    0x4(%esp),%eax
455ea1:	89 43 54             	mov    %eax,0x54(%ebx)
455ea4:	8b c3                	mov    %ebx,%eax
455ea6:	e8 d1 00 00 00       	call   0x455f7c
455eab:	59                   	pop    %ecx
455eac:	5a                   	pop    %edx
455ead:	5f                   	pop    %edi
455eae:	5e                   	pop    %esi
455eaf:	5b                   	pop    %ebx
455eb0:	c3                   	ret
455eb1:	8d 40 00             	lea    0x0(%eax),%eax
455eb4:	53                   	push   %ebx
455eb5:	8b d8                	mov    %eax,%ebx
455eb7:	33 d2                	xor    %edx,%edx
455eb9:	a1 18 b5 4a 00       	mov    0x4ab518,%eax
455ebe:	e8 c1 0d 00 00       	call   0x456c84
455ec3:	8b c3                	mov    %ebx,%eax
455ec5:	e8 b2 00 00 00       	call   0x455f7c
455eca:	8b 43 58             	mov    0x58(%ebx),%eax
455ecd:	50                   	push   %eax
455ece:	8b 43 5c             	mov    0x5c(%ebx),%eax
455ed1:	50                   	push   %eax
455ed2:	e8 31 13 fb ff       	call   0x407208
455ed7:	8b 43 60             	mov    0x60(%ebx),%eax
455eda:	8b 50 14             	mov    0x14(%eax),%edx
455edd:	80 7a 10 01          	cmpb   $0x1,0x10(%edx)
455ee1:	75 14                	jne    0x455ef7
455ee3:	8b 53 0c             	mov    0xc(%ebx),%edx
455ee6:	d1 fa                	sar    $1,%edx
455ee8:	79 03                	jns    0x455eed
455eea:	83 d2 00             	adc    $0x0,%edx
455eed:	03 53 54             	add    0x54(%ebx),%edx
455ef0:	e8 d3 e1 ff ff       	call   0x4540c8
455ef5:	eb 12                	jmp    0x455f09
455ef7:	8b 53 0c             	mov    0xc(%ebx),%edx
455efa:	d1 fa                	sar    $1,%edx
455efc:	79 03                	jns    0x455f01
455efe:	83 d2 00             	adc    $0x0,%edx
455f01:	03 53 50             	add    0x50(%ebx),%edx
455f04:	e8 bf e1 ff ff       	call   0x4540c8
455f09:	8b 43 60             	mov    0x60(%ebx),%eax
455f0c:	8b 50 14             	mov    0x14(%eax),%edx
455f0f:	8b c3                	mov    %ebx,%eax
455f11:	e8 c2 fe ff ff       	call   0x455dd8
455f16:	53                   	push   %ebx
455f17:	68 58 5f 45 00       	push   $0x455f58
455f1c:	8b 43 60             	mov    0x60(%ebx),%eax
455f1f:	8b 50 14             	mov    0x14(%eax),%edx
455f22:	8b c3                	mov    %ebx,%eax
455f24:	e8 33 e5 ff ff       	call   0x45445c
455f29:	33 c0                	xor    %eax,%eax
455f2b:	89 43 60             	mov    %eax,0x60(%ebx)
455f2e:	5b                   	pop    %ebx
455f2f:	c3                   	ret
455f30:	53                   	push   %ebx
455f31:	8b d8                	mov    %eax,%ebx
455f33:	83 7b 6c 00          	cmpl   $0x0,0x6c(%ebx)
455f37:	75 1b                	jne    0x455f54
455f39:	8b 43 14             	mov    0x14(%ebx),%eax
455f3c:	e8 e7 a3 ff ff       	call   0x450328
455f41:	85 c0                	test   %eax,%eax
455f43:	7e 0f                	jle    0x455f54
455f45:	53                   	push   %ebx
455f46:	68 58 5f 45 00       	push   $0x455f58
455f4b:	33 d2                	xor    %edx,%edx
455f4d:	8b c3                	mov    %ebx,%eax
455f4f:	e8 08 e5 ff ff       	call   0x45445c
455f54:	5b                   	pop    %ebx
455f55:	c3                   	ret
455f56:	8b c0                	mov    %eax,%eax
455f58:	83 78 6c 00          	cmpl   $0x0,0x6c(%eax)
455f5c:	75 07                	jne    0x455f65
455f5e:	8b c2                	mov    %edx,%eax
455f60:	e8 bf df ff ff       	call   0x453f24
455f65:	c3                   	ret
455f66:	8b c0                	mov    %eax,%eax
455f68:	56                   	push   %esi
455f69:	57                   	push   %edi
455f6a:	8b fa                	mov    %edx,%edi
455f6c:	8b f0                	mov    %eax,%esi
455f6e:	8b d7                	mov    %edi,%edx
455f70:	8b c6                	mov    %esi,%eax
455f72:	8b 08                	mov    (%eax),%ecx
455f74:	ff 51 3c             	call   *0x3c(%ecx)
455f77:	5f                   	pop    %edi
455f78:	5e                   	pop    %esi
455f79:	c3                   	ret
455f7a:	8b c0                	mov    %eax,%eax
455f7c:	53                   	push   %ebx
455f7d:	56                   	push   %esi
455f7e:	83 c4 f0             	add    $0xfffffff0,%esp
455f81:	8b d8                	mov    %eax,%ebx
455f83:	8b 73 60             	mov    0x60(%ebx),%esi
455f86:	85 f6                	test   %esi,%esi
455f88:	0f 84 d1 00 00 00    	je     0x45605f
455f8e:	8b 46 14             	mov    0x14(%esi),%eax
455f91:	80 78 10 01          	cmpb   $0x1,0x10(%eax)
455f95:	75 43                	jne    0x455fda
455f97:	ba 02 00 00 00       	mov    $0x2,%edx
455f9c:	8b c6                	mov    %esi,%eax
455f9e:	e8 a5 dc ff ff       	call   0x453c48
455fa3:	89 04 24             	mov    %eax,(%esp)
455fa6:	8b 43 0c             	mov    0xc(%ebx),%eax
455fa9:	d1 f8                	sar    $1,%eax
455fab:	79 03                	jns    0x455fb0
455fad:	83 d0 00             	adc    $0x0,%eax
455fb0:	8b 53 54             	mov    0x54(%ebx),%edx
455fb3:	2b d0                	sub    %eax,%edx
455fb5:	89 54 24 04          	mov    %edx,0x4(%esp)
455fb9:	ba 02 00 00 00       	mov    $0x2,%edx
455fbe:	8b 43 60             	mov    0x60(%ebx),%eax
455fc1:	e8 06 dd ff ff       	call   0x453ccc
455fc6:	03 04 24             	add    (%esp),%eax
455fc9:	89 44 24 08          	mov    %eax,0x8(%esp)
455fcd:	8b 44 24 04          	mov    0x4(%esp),%eax
455fd1:	03 43 0c             	add    0xc(%ebx),%eax
455fd4:	89 44 24 0c          	mov    %eax,0xc(%esp)
455fd8:	eb 41                	jmp    0x45601b
455fda:	8b 43 0c             	mov    0xc(%ebx),%eax
455fdd:	d1 f8                	sar    $1,%eax
455fdf:	79 03                	jns    0x455fe4
455fe1:	83 d0 00             	adc    $0x0,%eax
455fe4:	8b 53 50             	mov    0x50(%ebx),%edx
455fe7:	2b d0                	sub    %eax,%edx
455fe9:	89 14 24             	mov    %edx,(%esp)
455fec:	ba 01 00 00 00       	mov    $0x1,%edx
455ff1:	8b c6                	mov    %esi,%eax
455ff3:	e8 50 dc ff ff       	call   0x453c48
455ff8:	89 44 24 04          	mov    %eax,0x4(%esp)
455ffc:	8b 04 24             	mov    (%esp),%eax
455fff:	03 43 0c             	add    0xc(%ebx),%eax
456002:	89 44 24 08          	mov    %eax,0x8(%esp)
456006:	ba 01 00 00 00       	mov    $0x1,%edx
45600b:	8b 43 60             	mov    0x60(%ebx),%eax
45600e:	e8 b9 dc ff ff       	call   0x453ccc
456013:	03 44 24 04          	add    0x4(%esp),%eax
456017:	89 44 24 0c          	mov    %eax,0xc(%esp)
45601b:	8b 43 10             	mov    0x10(%ebx),%eax
45601e:	e8 01 e9 fc ff       	call   0x424924
456023:	50                   	push   %eax
456024:	8b 43 58             	mov    0x58(%ebx),%eax
456027:	50                   	push   %eax
456028:	e8 1b 0d fb ff       	call   0x406d48
45602d:	8b f0                	mov    %eax,%esi
45602f:	68 49 00 5a 00       	push   $0x5a0049
456034:	8b 4c 24 10          	mov    0x10(%esp),%ecx
456038:	8b 54 24 08          	mov    0x8(%esp),%edx
45603c:	2b ca                	sub    %edx,%ecx
45603e:	51                   	push   %ecx
45603f:	8b 4c 24 10          	mov    0x10(%esp),%ecx
456043:	8b 44 24 08          	mov    0x8(%esp),%eax
456047:	2b c8                	sub    %eax,%ecx
456049:	51                   	push   %ecx
45604a:	52                   	push   %edx
45604b:	50                   	push   %eax
45604c:	8b 43 58             	mov    0x58(%ebx),%eax
45604f:	50                   	push   %eax
456050:	e8 b3 0c fb ff       	call   0x406d08
456055:	56                   	push   %esi
456056:	8b 43 58             	mov    0x58(%ebx),%eax
456059:	50                   	push   %eax
45605a:	e8 e9 0c fb ff       	call   0x406d48
45605f:	83 c4 10             	add    $0x10,%esp
456062:	5e                   	pop    %esi
456063:	5b                   	pop    %ebx
456064:	c3                   	ret
456065:	8d 40 00             	lea    0x0(%eax),%eax
456068:	55                   	push   %ebp
456069:	8b ec                	mov    %esp,%ebp
45606b:	53                   	push   %ebx
45606c:	56                   	push   %esi
45606d:	57                   	push   %edi
45606e:	8b d8                	mov    %eax,%ebx
456070:	8b 45 08             	mov    0x8(%ebp),%eax
456073:	3b 58 fc             	cmp    -0x4(%eax),%ebx
456076:	74 59                	je     0x4560d1
456078:	8b 43 14             	mov    0x14(%ebx),%eax
45607b:	0f b6 40 10          	movzbl 0x10(%eax),%eax
45607f:	8b 55 08             	mov    0x8(%ebp),%edx
456082:	8b 52 fc             	mov    -0x4(%edx),%edx
456085:	8b 52 14             	mov    0x14(%edx),%edx
456088:	3a 42 10             	cmp    0x10(%edx),%al
45608b:	75 44                	jne    0x4560d1
45608d:	8b c3                	mov    %ebx,%eax
45608f:	e8 0c e0 ff ff       	call   0x4540a0
456094:	8b f8                	mov    %eax,%edi
456096:	8b 45 08             	mov    0x8(%ebp),%eax
456099:	8b 40 fc             	mov    -0x4(%eax),%eax
45609c:	e8 ff df ff ff       	call   0x4540a0
4560a1:	3b f8                	cmp    %eax,%edi
4560a3:	7e 2c                	jle    0x4560d1
4560a5:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
4560a9:	74 0d                	je     0x4560b8
4560ab:	8b 73 04             	mov    0x4(%ebx),%esi
4560ae:	85 f6                	test   %esi,%esi
4560b0:	74 1f                	je     0x4560d1
4560b2:	80 7e 57 00          	cmpb   $0x0,0x57(%esi)
4560b6:	74 19                	je     0x4560d1
4560b8:	8b 45 08             	mov    0x8(%ebp),%eax
4560bb:	8b 70 f8             	mov    -0x8(%eax),%esi
4560be:	8b c3                	mov    %ebx,%eax
4560c0:	e8 db df ff ff       	call   0x4540a0
4560c5:	3b c6                	cmp    %esi,%eax
4560c7:	7e 02                	jle    0x4560cb
4560c9:	8b c6                	mov    %esi,%eax
4560cb:	8b 55 08             	mov    0x8(%ebp),%edx
4560ce:	89 42 f8             	mov    %eax,-0x8(%edx)
4560d1:	8b 43 0c             	mov    0xc(%ebx),%eax
4560d4:	85 c0                	test   %eax,%eax
4560d6:	74 0a                	je     0x4560e2
4560d8:	8b 55 08             	mov    0x8(%ebp),%edx
4560db:	52                   	push   %edx
4560dc:	e8 87 ff ff ff       	call   0x456068
4560e1:	59                   	pop    %ecx
4560e2:	8b 43 08             	mov    0x8(%ebx),%eax
4560e5:	85 c0                	test   %eax,%eax
4560e7:	74 0a                	je     0x4560f3
4560e9:	8b 55 08             	mov    0x8(%ebp),%edx
4560ec:	52                   	push   %edx
4560ed:	e8 76 ff ff ff       	call   0x456068
4560f2:	59                   	pop    %ecx
4560f3:	5f                   	pop    %edi
4560f4:	5e                   	pop    %esi
4560f5:	5b                   	pop    %ebx
4560f6:	5d                   	pop    %ebp
4560f7:	c3                   	ret
4560f8:	55                   	push   %ebp
4560f9:	8b ec                	mov    %esp,%ebp
4560fb:	83 c4 f8             	add    $0xfffffff8,%esp
4560fe:	53                   	push   %ebx
4560ff:	56                   	push   %esi
456100:	89 55 fc             	mov    %edx,-0x4(%ebp)
456103:	8b d8                	mov    %eax,%ebx
456105:	8b 45 fc             	mov    -0x4(%ebp),%eax
456108:	8b 70 0c             	mov    0xc(%eax),%esi
45610b:	85 f6                	test   %esi,%esi
45610d:	74 0c                	je     0x45611b
45610f:	8b c6                	mov    %esi,%eax
456111:	e8 8a df ff ff       	call   0x4540a0
456116:	89 45 f8             	mov    %eax,-0x8(%ebp)
456119:	eb 17                	jmp    0x456132
45611b:	8b 45 fc             	mov    -0x4(%ebp),%eax
45611e:	e8 7d df ff ff       	call   0x4540a0
456123:	8b f0                	mov    %eax,%esi
456125:	8b 45 fc             	mov    -0x4(%ebp),%eax
456128:	e8 d3 da ff ff       	call   0x453c00
45612d:	03 f0                	add    %eax,%esi
45612f:	89 75 f8             	mov    %esi,-0x8(%ebp)
456132:	55                   	push   %ebp
456133:	8b 43 64             	mov    0x64(%ebx),%eax
456136:	8b 40 08             	mov    0x8(%eax),%eax
456139:	e8 2a ff ff ff       	call   0x456068
45613e:	59                   	pop    %ecx
45613f:	8b 45 f8             	mov    -0x8(%ebp),%eax
456142:	5e                   	pop    %esi
456143:	5b                   	pop    %ebx
456144:	59                   	pop    %ecx
456145:	59                   	pop    %ecx
456146:	5d                   	pop    %ebp
456147:	c3                   	ret
456148:	55                   	push   %ebp
456149:	8b ec                	mov    %esp,%ebp
45614b:	83 c4 e0             	add    $0xffffffe0,%esp
45614e:	53                   	push   %ebx
45614f:	56                   	push   %esi
456150:	57                   	push   %edi
456151:	8b f2                	mov    %edx,%esi
456153:	8b f8                	mov    %eax,%edi
456155:	b3 04                	mov    $0x4,%bl
456157:	85 f6                	test   %esi,%esi
456159:	74 60                	je     0x4561bb
45615b:	8d 55 f0             	lea    -0x10(%ebp),%edx
45615e:	8b c7                	mov    %edi,%eax
456160:	e8 1f 36 ff ff       	call   0x449784
456165:	8d 55 e0             	lea    -0x20(%ebp),%edx
456168:	8b c6                	mov    %esi,%eax
45616a:	e8 15 36 ff ff       	call   0x449784
45616f:	8b 45 f4             	mov    -0xc(%ebp),%eax
456172:	3b 45 e4             	cmp    -0x1c(%ebp),%eax
456175:	7f 14                	jg     0x45618b
456177:	8b 45 fc             	mov    -0x4(%ebp),%eax
45617a:	3b 45 ec             	cmp    -0x14(%ebp),%eax
45617d:	7d 0c                	jge    0x45618b
45617f:	8b 45 f8             	mov    -0x8(%ebp),%eax
456182:	3b 45 e8             	cmp    -0x18(%ebp),%eax
456185:	7c 04                	jl     0x45618b
456187:	b3 01                	mov    $0x1,%bl
456189:	eb 30                	jmp    0x4561bb
45618b:	8b 45 f0             	mov    -0x10(%ebp),%eax
45618e:	3b 45 e0             	cmp    -0x20(%ebp),%eax
456191:	7f 14                	jg     0x4561a7
456193:	8b 45 f8             	mov    -0x8(%ebp),%eax
456196:	3b 45 e8             	cmp    -0x18(%ebp),%eax
456199:	7d 0c                	jge    0x4561a7
45619b:	8b 45 fc             	mov    -0x4(%ebp),%eax
45619e:	3b 45 ec             	cmp    -0x14(%ebp),%eax
4561a1:	7c 04                	jl     0x4561a7
4561a3:	b3 03                	mov    $0x3,%bl
4561a5:	eb 14                	jmp    0x4561bb
4561a7:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4561aa:	03 45 ec             	add    -0x14(%ebp),%eax
4561ad:	d1 f8                	sar    $1,%eax
4561af:	79 03                	jns    0x4561b4
4561b1:	83 d0 00             	adc    $0x0,%eax
4561b4:	3b 45 f4             	cmp    -0xc(%ebp),%eax
4561b7:	7f 02                	jg     0x4561bb
4561b9:	b3 02                	mov    $0x2,%bl
4561bb:	8b c3                	mov    %ebx,%eax
4561bd:	5f                   	pop    %edi
4561be:	5e                   	pop    %esi
4561bf:	5b                   	pop    %ebx
4561c0:	8b e5                	mov    %ebp,%esp
4561c2:	5d                   	pop    %ebp
4561c3:	c3                   	ret
4561c4:	55                   	push   %ebp