44fe5e:	8b 45 e0             	mov    -0x20(%ebp),%eax
44fe61:	50                   	push   %eax
44fe62:	e8 c5 69 fb ff       	call   0x40682c
44fe67:	89 45 d8             	mov    %eax,-0x28(%ebp)
44fe6a:	8b 4d c8             	mov    -0x38(%ebp),%ecx
44fe6d:	8b 55 c4             	mov    -0x3c(%ebp),%edx
44fe70:	8b 45 d8             	mov    -0x28(%ebp),%eax
44fe73:	e8 ac fa ff ff       	call   0x44f924
44fe78:	8b d8                	mov    %eax,%ebx
44fe7a:	53                   	push   %ebx
44fe7b:	8b 45 d8             	mov    -0x28(%ebp),%eax
44fe7e:	50                   	push   %eax
44fe7f:	e8 d8 6a fb ff       	call   0x40695c
44fe84:	89 45 e8             	mov    %eax,-0x18(%ebp)
44fe87:	8b 45 e0             	mov    -0x20(%ebp),%eax
44fe8a:	50                   	push   %eax
44fe8b:	e8 9c 69 fb ff       	call   0x40682c
44fe90:	89 45 dc             	mov    %eax,-0x24(%ebp)
44fe93:	8b 45 08             	mov    0x8(%ebp),%eax
44fe96:	8b 00                	mov    (%eax),%eax
44fe98:	50                   	push   %eax
44fe99:	8b 45 dc             	mov    -0x24(%ebp),%eax
44fe9c:	50                   	push   %eax
44fe9d:	e8 ba 6a fb ff       	call   0x40695c
44fea2:	89 45 e4             	mov    %eax,-0x1c(%ebp)
44fea5:	68 20 00 cc 00       	push   $0xcc0020
44feaa:	57                   	push   %edi
44feab:	56                   	push   %esi
44feac:	8b 45 dc             	mov    -0x24(%ebp),%eax
44feaf:	50                   	push   %eax
44feb0:	8b 45 c8             	mov    -0x38(%ebp),%eax
44feb3:	50                   	push   %eax
44feb4:	8b 45 c4             	mov    -0x3c(%ebp),%eax
44feb7:	50                   	push   %eax
44feb8:	6a 00                	push   $0x0
44feba:	6a 00                	push   $0x0
44febc:	8b 45 d8             	mov    -0x28(%ebp),%eax
44febf:	50                   	push   %eax
44fec0:	e8 47 69 fb ff       	call   0x40680c
44fec5:	33 c0                	xor    %eax,%eax
44fec7:	55                   	push   %ebp
44fec8:	68 31 00 45 00       	push   $0x450031
44fecd:	64 ff 30             	push   %fs:(%eax)
44fed0:	64 89 20             	mov    %esp,%fs:(%eax)
44fed3:	8b 45 f0             	mov    -0x10(%ebp),%eax
44fed6:	e8 5d 2b fb ff       	call   0x402a38
44fedb:	89 45 fc             	mov    %eax,-0x4(%ebp)
44fede:	8b 45 f0             	mov    -0x10(%ebp),%eax
44fee1:	e8 52 2b fb ff       	call   0x402a38
44fee6:	89 45 f4             	mov    %eax,-0xc(%ebp)
44fee9:	8b 45 f0             	mov    -0x10(%ebp),%eax
44feec:	e8 47 2b fb ff       	call   0x402a38
44fef1:	89 45 f8             	mov    %eax,-0x8(%ebp)
44fef4:	33 c0                	xor    %eax,%eax
44fef6:	55                   	push   %ebp
44fef7:	68 dd ff 44 00       	push   $0x44ffdd
44fefc:	64 ff 30             	push   %fs:(%eax)
44feff:	64 89 20             	mov    %esp,%fs:(%eax)
44ff02:	8b 45 fc             	mov    -0x4(%ebp),%eax
44ff05:	50                   	push   %eax
44ff06:	8b 45 f0             	mov    -0x10(%ebp),%eax
44ff09:	50                   	push   %eax
44ff0a:	8b 45 10             	mov    0x10(%ebp),%eax
44ff0d:	50                   	push   %eax
44ff0e:	e8 79 69 fb ff       	call   0x40688c
44ff13:	8b 45 f4             	mov    -0xc(%ebp),%eax
44ff16:	50                   	push   %eax
44ff17:	8b 45 f0             	mov    -0x10(%ebp),%eax
44ff1a:	50                   	push   %eax
44ff1b:	8b 45 0c             	mov    0xc(%ebp),%eax
44ff1e:	50                   	push   %eax
44ff1f:	e8 68 69 fb ff       	call   0x40688c
44ff24:	8b 45 f8             	mov    -0x8(%ebp),%eax
44ff27:	50                   	push   %eax
44ff28:	8b 45 f0             	mov    -0x10(%ebp),%eax
44ff2b:	50                   	push   %eax
44ff2c:	53                   	push   %ebx
44ff2d:	e8 5a 69 fb ff       	call   0x40688c
44ff32:	60                   	pusha
44ff33:	8b 75 fc             	mov    -0x4(%ebp),%esi
44ff36:	8b 7d f8             	mov    -0x8(%ebp),%edi
44ff39:	8b 55 f4             	mov    -0xc(%ebp),%edx
44ff3c:	8b 4d f0             	mov    -0x10(%ebp),%ecx
44ff3f:	31 db                	xor    %ebx,%ebx
44ff41:	8a 1a                	mov    (%edx),%bl
44ff43:	80 fb 00             	cmp    $0x0,%bl
44ff46:	74 3b                	je     0x44ff83
44ff48:	52                   	push   %edx
44ff49:	8a 06                	mov    (%esi),%al
44ff4b:	88 c4                	mov    %al,%ah
44ff4d:	80 fb ff             	cmp    $0xff,%bl
44ff50:	74 2e                	je     0x44ff80
44ff52:	32 c0                	xor    %al,%al
44ff54:	66 31 d2             	xor    %dx,%dx
44ff57:	66 f7 f3             	div    %bx
44ff5a:	66 3d ff 00          	cmp    $0xff,%ax
44ff5e:	7e 04                	jle    0x44ff64
44ff60:	66 b8 ff 00          	mov    $0xff,%ax
44ff64:	8a 17                	mov    (%edi),%dl
44ff66:	38 d0                	cmp    %dl,%al
44ff68:	73 10                	jae    0x44ff7a
44ff6a:	66 52                	push   %dx
44ff6c:	28 c2                	sub    %al,%dl
44ff6e:	88 d0                	mov    %dl,%al
44ff70:	f6 e3                	mul    %bl
44ff72:	66 5a                	pop    %dx
44ff74:	28 e2                	sub    %ah,%dl
44ff76:	88 d4                	mov    %dl,%ah
44ff78:	eb 06                	jmp    0x44ff80
44ff7a:	28 d0                	sub    %dl,%al
44ff7c:	f6 e3                	mul    %bl
44ff7e:	00 d4                	add    %dl,%ah
44ff80:	88 27                	mov    %ah,(%edi)
44ff82:	5a                   	pop    %edx
44ff83:	46                   	inc    %esi
44ff84:	47                   	inc    %edi
44ff85:	42                   	inc    %edx
44ff86:	e2 b9                	loop   0x44ff41
44ff88:	61                   	popa
44ff89:	8b 45 f8             	mov    -0x8(%ebp),%eax
44ff8c:	50                   	push   %eax
44ff8d:	8b 45 f0             	mov    -0x10(%ebp),%eax
44ff90:	50                   	push   %eax
44ff91:	53                   	push   %ebx
44ff92:	e8 d5 69 fb ff       	call   0x40696c
44ff97:	68 20 00 cc 00       	push   $0xcc0020
44ff9c:	6a 00                	push   $0x0
44ff9e:	6a 00                	push   $0x0
44ffa0:	8b 45 d8             	mov    -0x28(%ebp),%eax
44ffa3:	50                   	push   %eax
44ffa4:	8b 45 c8             	mov    -0x38(%ebp),%eax
44ffa7:	50                   	push   %eax
44ffa8:	8b 45 c4             	mov    -0x3c(%ebp),%eax
44ffab:	50                   	push   %eax
44ffac:	57                   	push   %edi
44ffad:	56                   	push   %esi
44ffae:	8b 45 dc             	mov    -0x24(%ebp),%eax
44ffb1:	50                   	push   %eax
44ffb2:	e8 55 68 fb ff       	call   0x40680c
44ffb7:	33 c0                	xor    %eax,%eax
44ffb9:	5a                   	pop    %edx
44ffba:	59                   	pop    %ecx
44ffbb:	59                   	pop    %ecx
44ffbc:	64 89 10             	mov    %edx,%fs:(%eax)
44ffbf:	68 e4 ff 44 00       	push   $0x44ffe4
44ffc4:	8b 45 fc             	mov    -0x4(%ebp),%eax
44ffc7:	e8 9c 2a fb ff       	call   0x402a68
44ffcc:	8b 45 f4             	mov    -0xc(%ebp),%eax
44ffcf:	e8 94 2a fb ff       	call   0x402a68
44ffd4:	8b 45 f8             	mov    -0x8(%ebp),%eax
44ffd7:	e8 8c 2a fb ff       	call   0x402a68
44ffdc:	c3                   	ret
44ffdd:	e9 6a 3f fb ff       	jmp    0x403f4c
44ffe2:	eb e0                	jmp    0x44ffc4
44ffe4:	33 c0                	xor    %eax,%eax
44ffe6:	5a                   	pop    %edx
44ffe7:	59                   	pop    %ecx
44ffe8:	59                   	pop    %ecx
44ffe9:	64 89 10             	mov    %edx,%fs:(%eax)
44ffec:	68 38 00 45 00       	push   $0x450038
44fff1:	8b 45 e8             	mov    -0x18(%ebp),%eax
44fff4:	50                   	push   %eax
44fff5:	8b 45 d8             	mov    -0x28(%ebp),%eax
44fff8:	50                   	push   %eax
44fff9:	e8 5e 69 fb ff       	call   0x40695c
44fffe:	50                   	push   %eax
44ffff:	e8 78 68 fb ff       	call   0x40687c
450004:	8b 45 d8             	mov    -0x28(%ebp),%eax
450007:	50                   	push   %eax
450008:	e8 67 68 fb ff       	call   0x406874
45000d:	8b 45 e4             	mov    -0x1c(%ebp),%eax
450010:	50                   	push   %eax
450011:	8b 45 dc             	mov    -0x24(%ebp),%eax
450014:	50                   	push   %eax
450015:	e8 42 69 fb ff       	call   0x40695c
45001a:	8b 45 dc             	mov    -0x24(%ebp),%eax
45001d:	50                   	push   %eax
45001e:	e8 51 68 fb ff       	call   0x406874
450023:	8b 45 e0             	mov    -0x20(%ebp),%eax
450026:	50                   	push   %eax
450027:	8b 45 ec             	mov    -0x14(%ebp),%eax
45002a:	50                   	push   %eax
45002b:	e8 64 6d fb ff       	call   0x406d94
450030:	c3                   	ret
450031:	e9 16 3f fb ff       	jmp    0x403f4c
450036:	eb b9                	jmp    0x44fff1
450038:	5f                   	pop    %edi
450039:	5e                   	pop    %esi
45003a:	5b                   	pop    %ebx
45003b:	8b e5                	mov    %ebp,%esp
45003d:	5d                   	pop    %ebp
45003e:	c2 0c 00             	ret    $0xc
450041:	8d 40 00             	lea    0x0(%eax),%eax
450044:	90                   	nop
450045:	90                   	nop
450046:	90                   	nop
450047:	90                   	nop
450048:	90                   	nop
450049:	90                   	nop
45004a:	90                   	nop
45004b:	90                   	nop
45004c:	8b d0                	mov    %eax,%edx
45004e:	66 ff ca             	dec    %dx
450051:	74 0c                	je     0x45005f
450053:	66 83 ea 03          	sub    $0x3,%dx
450057:	74 06                	je     0x45005f
450059:	66 83 ea 04          	sub    $0x4,%dx
45005d:	75 0a                	jne    0x450069
45005f:	8b c8                	mov    %eax,%ecx
450061:	b8 01 00 00 00       	mov    $0x1,%eax
450066:	d3 e0                	shl    %cl,%eax
450068:	c3                   	ret
450069:	33 c0                	xor    %eax,%eax
45006b:	c3                   	ret
45006c:	90                   	nop
45006d:	90                   	nop
45006e:	49                   	dec    %ecx
45006f:	f7 ea                	imul   %edx
450071:	03 c1                	add    %ecx,%eax
450073:	f7 d1                	not    %ecx
450075:	23 c1                	and    %ecx,%eax
450077:	c1 e8 03             	shr    $0x3,%eax
45007a:	c3                   	ret
45007b:	90                   	nop
45007c:	55                   	push   %ebp
45007d:	8b ec                	mov    %esp,%ebp
45007f:	83 c4 d4             	add    $0xffffffd4,%esp
450082:	53                   	push   %ebx
450083:	56                   	push   %esi
450084:	8b f2                	mov    %edx,%esi
450086:	8b d8                	mov    %eax,%ebx
450088:	90                   	nop
450089:	90                   	nop
45008a:	90                   	nop
45008b:	90                   	nop
45008c:	90                   	nop
45008d:	90                   	nop
45008e:	90                   	nop
45008f:	90                   	nop
450090:	90                   	nop
450091:	90                   	nop
450092:	90                   	nop
450093:	90                   	nop
450094:	90                   	nop
450095:	90                   	nop
450096:	6a 00                	push   $0x0
450098:	e8 af 6a fb ff       	call   0x406b4c
45009d:	89 45 fc             	mov    %eax,-0x4(%ebp)
4500a0:	8b 45 fc             	mov    -0x4(%ebp),%eax
4500a3:	50                   	push   %eax
4500a4:	e8 83 67 fb ff       	call   0x40682c
4500a9:	89 45 f8             	mov    %eax,-0x8(%ebp)
4500ac:	8b 45 fc             	mov    -0x4(%ebp),%eax
4500af:	50                   	push   %eax
4500b0:	e8 77 67 fb ff       	call   0x40682c
4500b5:	89 45 f4             	mov    %eax,-0xc(%ebp)
4500b8:	53                   	push   %ebx
4500b9:	8b 45 f8             	mov    -0x8(%ebp),%eax
4500bc:	50                   	push   %eax
4500bd:	e8 9a 68 fb ff       	call   0x40695c
4500c2:	89 45 f0             	mov    %eax,-0x10(%ebp)
4500c5:	8b 06                	mov    (%esi),%eax
4500c7:	50                   	push   %eax
4500c8:	8b 45 f4             	mov    -0xc(%ebp),%eax
4500cb:	50                   	push   %eax
4500cc:	e8 8b 68 fb ff       	call   0x40695c
4500d1:	89 45 ec             	mov    %eax,-0x14(%ebp)
4500d4:	33 c0                	xor    %eax,%eax
4500d6:	55                   	push   %ebp
4500d7:	68 5b 01 45 00       	push   $0x45015b
4500dc:	64 ff 30             	push   %fs:(%eax)
4500df:	64 89 20             	mov    %esp,%fs:(%eax)
4500e2:	8d 45 d4             	lea    -0x2c(%ebp),%eax
4500e5:	50                   	push   %eax
4500e6:	6a 18                	push   $0x18
4500e8:	53                   	push   %ebx
4500e9:	e8 e6 67 fb ff       	call   0x4068d4
4500ee:	68 20 00 cc 00       	push   $0xcc0020
4500f3:	6a 00                	push   $0x0
4500f5:	6a 00                	push   $0x0
4500f7:	8b 45 f8             	mov    -0x8(%ebp),%eax
4500fa:	50                   	push   %eax
4500fb:	8b 45 dc             	mov    -0x24(%ebp),%eax
4500fe:	50                   	push   %eax
4500ff:	8b 45 d8             	mov    -0x28(%ebp),%eax
450102:	50                   	push   %eax
450103:	6a 00                	push   $0x0
450105:	6a 00                	push   $0x0
450107:	8b 45 f4             	mov    -0xc(%ebp),%eax
45010a:	50                   	push   %eax
45010b:	e8 fc 66 fb ff       	call   0x40680c
450110:	33 c0                	xor    %eax,%eax
450112:	5a                   	pop    %edx
450113:	59                   	pop    %ecx
450114:	59                   	pop    %ecx
450115:	64 89 10             	mov    %edx,%fs:(%eax)
450118:	68 62 01 45 00       	push   $0x450162
45011d:	8b 45 f0             	mov    -0x10(%ebp),%eax
450120:	50                   	push   %eax
450121:	8b 45 f8             	mov    -0x8(%ebp),%eax
450124:	50                   	push   %eax
450125:	e8 32 68 fb ff       	call   0x40695c
45012a:	50                   	push   %eax
45012b:	e8 4c 67 fb ff       	call   0x40687c
450130:	8b 45 ec             	mov    -0x14(%ebp),%eax
450133:	50                   	push   %eax
450134:	8b 45 f4             	mov    -0xc(%ebp),%eax
450137:	50                   	push   %eax
450138:	e8 1f 68 fb ff       	call   0x40695c
45013d:	8b 45 f8             	mov    -0x8(%ebp),%eax
450140:	50                   	push   %eax
450141:	e8 2e 67 fb ff       	call   0x406874
450146:	8b 45 f4             	mov    -0xc(%ebp),%eax
450149:	50                   	push   %eax
45014a:	e8 25 67 fb ff       	call   0x406874
45014f:	8b 45 fc             	mov    -0x4(%ebp),%eax
450152:	50                   	push   %eax
450153:	6a 00                	push   $0x0
450155:	e8 3a 6c fb ff       	call   0x406d94
45015a:	c3                   	ret
45015b:	e9 ec 3d fb ff       	jmp    0x403f4c
450160:	eb bb                	jmp    0x45011d
450162:	5e                   	pop    %esi
450163:	5b                   	pop    %ebx
450164:	8b e5                	mov    %ebp,%esp
450166:	5d                   	pop    %ebp
450167:	c3                   	ret
450168:	55                   	push   %ebp
450169:	8b ec                	mov    %esp,%ebp
45016b:	83 c4 84             	add    $0xffffff84,%esp
45016e:	53                   	push   %ebx
45016f:	56                   	push   %esi
450170:	57                   	push   %edi
450171:	8b f2                	mov    %edx,%esi
450173:	89 45 fc             	mov    %eax,-0x4(%ebp)
450176:	8d 55 e0             	lea    -0x20(%ebp),%edx
450179:	b9 04 00 00 00       	mov    $0x4,%ecx
45017e:	8b 45 fc             	mov    -0x4(%ebp),%eax
450181:	8b 18                	mov    (%eax),%ebx
450183:	ff 53 04             	call   *0x4(%ebx)
450186:	8b 45 e0             	mov    -0x20(%ebp),%eax
450189:	05 00 04 00 00       	add    $0x400,%eax
45018e:	e8 a5 28 fb ff       	call   0x402a38
450193:	89 45 e8             	mov    %eax,-0x18(%ebp)
450196:	8b 45 e8             	mov    -0x18(%ebp),%eax
450199:	89 45 d8             	mov    %eax,-0x28(%ebp)
45019c:	33 d2                	xor    %edx,%edx
45019e:	55                   	push   %ebp
45019f:	68 1e 04 45 00       	push   $0x45041e
4501a4:	64 ff 32             	push   %fs:(%edx)