45ce08:	8b 45 fc             	mov    -0x4(%ebp),%eax
45ce0b:	0f b7 40 08          	movzwl 0x8(%eax),%eax
45ce0f:	03 d0                	add    %eax,%edx
45ce11:	8b 45 fc             	mov    -0x4(%ebp),%eax
45ce14:	e8 4b 01 00 00       	call   0x45cf64
45ce19:	e9 c5 00 00 00       	jmp    0x45cee3
45ce1e:	33 c9                	xor    %ecx,%ecx
45ce20:	b2 01                	mov    $0x1,%dl
45ce22:	8b 45 fc             	mov    -0x4(%ebp),%eax
45ce25:	e8 b2 fc ff ff       	call   0x45cadc
45ce2a:	8b 55 fc             	mov    -0x4(%ebp),%edx
45ce2d:	8b 52 0c             	mov    0xc(%edx),%edx
45ce30:	2b d0                	sub    %eax,%edx
45ce32:	8b 45 fc             	mov    -0x4(%ebp),%eax
45ce35:	e8 2a 01 00 00       	call   0x45cf64
45ce3a:	e9 a4 00 00 00       	jmp    0x45cee3
45ce3f:	33 c9                	xor    %ecx,%ecx
45ce41:	b2 01                	mov    $0x1,%dl
45ce43:	8b 45 fc             	mov    -0x4(%ebp),%eax
45ce46:	e8 91 fc ff ff       	call   0x45cadc
45ce4b:	8b d0                	mov    %eax,%edx
45ce4d:	8b 45 fc             	mov    -0x4(%ebp),%eax
45ce50:	03 50 0c             	add    0xc(%eax),%edx
45ce53:	8b 45 fc             	mov    -0x4(%ebp),%eax
45ce56:	e8 09 01 00 00       	call   0x45cf64
45ce5b:	e9 83 00 00 00       	jmp    0x45cee3
45ce60:	8b 45 fc             	mov    -0x4(%ebp),%eax
45ce63:	81 78 14 ff 7f 00 00 	cmpl   $0x7fff,0x14(%eax)
45ce6a:	7e 13                	jle    0x45ce7f
45ce6c:	55                   	push   %ebp
45ce6d:	e8 02 fd ff ff       	call   0x45cb74
45ce72:	59                   	pop    %ecx
45ce73:	8b d0                	mov    %eax,%edx
45ce75:	8b 45 fc             	mov    -0x4(%ebp),%eax
45ce78:	e8 e7 00 00 00       	call   0x45cf64
45ce7d:	eb 64                	jmp    0x45cee3
45ce7f:	8b 55 f8             	mov    -0x8(%ebp),%edx
45ce82:	0f bf 52 06          	movswl 0x6(%edx),%edx
45ce86:	8b 45 fc             	mov    -0x4(%ebp),%eax
45ce89:	e8 d6 00 00 00       	call   0x45cf64
45ce8e:	eb 53                	jmp    0x45cee3
45ce90:	8b 45 fc             	mov    -0x4(%ebp),%eax
45ce93:	80 78 1d 00          	cmpb   $0x0,0x1d(%eax)
45ce97:	74 4a                	je     0x45cee3
45ce99:	8b 45 fc             	mov    -0x4(%ebp),%eax
45ce9c:	81 78 14 ff 7f 00 00 	cmpl   $0x7fff,0x14(%eax)
45cea3:	7e 13                	jle    0x45ceb8
45cea5:	55                   	push   %ebp
45cea6:	e8 c9 fc ff ff       	call   0x45cb74
45ceab:	59                   	pop    %ecx
45ceac:	8b d0                	mov    %eax,%edx
45ceae:	8b 45 fc             	mov    -0x4(%ebp),%eax
45ceb1:	e8 ae 00 00 00       	call   0x45cf64
45ceb6:	eb 2b                	jmp    0x45cee3
45ceb8:	8b 55 f8             	mov    -0x8(%ebp),%edx
45cebb:	0f bf 52 06          	movswl 0x6(%edx),%edx
45cebf:	8b 45 fc             	mov    -0x4(%ebp),%eax
45cec2:	e8 9d 00 00 00       	call   0x45cf64
45cec7:	eb 1a                	jmp    0x45cee3
45cec9:	33 d2                	xor    %edx,%edx
45cecb:	8b 45 fc             	mov    -0x4(%ebp),%eax
45cece:	e8 91 00 00 00       	call   0x45cf64
45ced3:	eb 0e                	jmp    0x45cee3
45ced5:	8b 45 fc             	mov    -0x4(%ebp),%eax
45ced8:	8b 50 14             	mov    0x14(%eax),%edx
45cedb:	8b 45 fc             	mov    -0x4(%ebp),%eax
45cede:	e8 81 00 00 00       	call   0x45cf64
45cee3:	5f                   	pop    %edi
45cee4:	5e                   	pop    %esi
45cee5:	5b                   	pop    %ebx
45cee6:	8b e5                	mov    %ebp,%esp
45cee8:	5d                   	pop    %ebp
45cee9:	c3                   	ret
45ceea:	8b c0                	mov    %eax,%eax
45ceec:	53                   	push   %ebx
45ceed:	56                   	push   %esi
45ceee:	8b d8                	mov    %eax,%ebx
45cef0:	3b 53 24             	cmp    0x24(%ebx),%edx
45cef3:	74 35                	je     0x45cf2a
45cef5:	8b f2                	mov    %edx,%esi
45cef7:	85 f6                	test   %esi,%esi
45cef9:	75 17                	jne    0x45cf12
45cefb:	0f b6 43 18          	movzbl 0x18(%ebx),%eax
45ceff:	8b 04 85 ac c7 49 00 	mov    0x49c7ac(,%eax,4),%eax
45cf06:	50                   	push   %eax
45cf07:	a1 28 75 4a 00       	mov    0x4a7528,%eax
45cf0c:	8b 00                	mov    (%eax),%eax
45cf0e:	ff d0                	call   *%eax
45cf10:	8b d0                	mov    %eax,%edx
45cf12:	89 53 24             	mov    %edx,0x24(%ebx)
45cf15:	c6 43 44 01          	movb   $0x1,0x44(%ebx)
45cf19:	8b 43 04             	mov    0x4(%ebx),%eax
45cf1c:	e8 c3 06 00 00       	call   0x45d5e4
45cf21:	85 f6                	test   %esi,%esi
45cf23:	75 05                	jne    0x45cf2a
45cf25:	33 c0                	xor    %eax,%eax
45cf27:	89 43 24             	mov    %eax,0x24(%ebx)
45cf2a:	5e                   	pop    %esi
45cf2b:	5b                   	pop    %ebx
45cf2c:	c3                   	ret
45cf2d:	8d 40 00             	lea    0x0(%eax),%eax
45cf30:	3b 50 28             	cmp    0x28(%eax),%edx
45cf33:	74 13                	je     0x45cf48
45cf35:	89 50 28             	mov    %edx,0x28(%eax)
45cf38:	c6 40 2c 00          	movb   $0x0,0x2c(%eax)
45cf3c:	c6 40 44 01          	movb   $0x1,0x44(%eax)
45cf40:	8b 40 04             	mov    0x4(%eax),%eax
45cf43:	e8 9c 06 00 00       	call   0x45d5e4
45cf48:	c3                   	ret
45cf49:	8d 40 00             	lea    0x0(%eax),%eax
45cf4c:	3a 50 2c             	cmp    0x2c(%eax),%dl
45cf4f:	74 11                	je     0x45cf62
45cf51:	88 50 2c             	mov    %dl,0x2c(%eax)
45cf54:	84 d2                	test   %dl,%dl
45cf56:	74 0a                	je     0x45cf62
45cf58:	ba 14 00 00 ff       	mov    $0xff000014,%edx
45cf5d:	e8 ce ff ff ff       	call   0x45cf30
45cf62:	c3                   	ret
45cf63:	90                   	nop
45cf64:	53                   	push   %ebx
45cf65:	56                   	push   %esi
45cf66:	57                   	push   %edi
45cf67:	8b d8                	mov    %eax,%ebx
45cf69:	8b 43 04             	mov    0x4(%ebx),%eax
45cf6c:	f6 40 1c 02          	testb  $0x2,0x1c(%eax)
45cf70:	74 08                	je     0x45cf7a
45cf72:	89 53 0c             	mov    %edx,0xc(%ebx)
45cf75:	e9 a9 00 00 00       	jmp    0x45d023
45cf7a:	8b 43 14             	mov    0x14(%ebx),%eax
45cf7d:	3b d0                	cmp    %eax,%edx
45cf7f:	7e 04                	jle    0x45cf85
45cf81:	8b d0                	mov    %eax,%edx
45cf83:	eb 06                	jmp    0x45cf8b
45cf85:	85 d2                	test   %edx,%edx
45cf87:	7d 02                	jge    0x45cf8b
45cf89:	33 d2                	xor    %edx,%edx
45cf8b:	80 7b 18 00          	cmpb   $0x0,0x18(%ebx)
45cf8f:	75 04                	jne    0x45cf95
45cf91:	33 f6                	xor    %esi,%esi
45cf93:	eb 04                	jmp    0x45cf99
45cf95:	66 be 01 00          	mov    $0x1,%si
45cf99:	8b 43 0c             	mov    0xc(%ebx),%eax
45cf9c:	3b d0                	cmp    %eax,%edx
45cf9e:	74 4f                	je     0x45cfef
45cfa0:	89 53 0c             	mov    %edx,0xc(%ebx)
45cfa3:	80 7b 18 00          	cmpb   $0x0,0x18(%ebx)
45cfa7:	75 10                	jne    0x45cfb9
45cfa9:	2b c2                	sub    %edx,%eax
45cfab:	8b d0                	mov    %eax,%edx
45cfad:	33 c9                	xor    %ecx,%ecx
45cfaf:	8b 43 04             	mov    0x4(%ebx),%eax
45cfb2:	e8 69 45 ff ff       	call   0x451520
45cfb7:	eb 0e                	jmp    0x45cfc7
45cfb9:	8b c8                	mov    %eax,%ecx
45cfbb:	2b ca                	sub    %edx,%ecx
45cfbd:	8b 43 04             	mov    0x4(%ebx),%eax
45cfc0:	33 d2                	xor    %edx,%edx
45cfc2:	e8 59 45 ff ff       	call   0x451520
45cfc7:	8b 43 04             	mov    0x4(%ebx),%eax
45cfca:	f6 40 1c 10          	testb  $0x10,0x1c(%eax)
45cfce:	74 1f                	je     0x45cfef
45cfd0:	33 d2                	xor    %edx,%edx
45cfd2:	e8 e9 f6 ff ff       	call   0x45c6c0
45cfd7:	85 c0                	test   %eax,%eax
45cfd9:	74 14                	je     0x45cfef
45cfdb:	83 b8 98 02 00 00 00 	cmpl   $0x0,0x298(%eax)
45cfe2:	74 0b                	je     0x45cfef
45cfe4:	8b 80 98 02 00 00    	mov    0x298(%eax),%eax
45cfea:	8b 10                	mov    (%eax),%edx
45cfec:	ff 52 0c             	call   *0xc(%edx)
45cfef:	0f b7 fe             	movzwl %si,%edi
45cff2:	57                   	push   %edi
45cff3:	8b 43 04             	mov    0x4(%ebx),%eax
45cff6:	e8 b1 49 ff ff       	call   0x4519ac
45cffb:	50                   	push   %eax
45cffc:	a1 30 77 4a 00       	mov    0x4a7730,%eax
45d001:	8b 00                	mov    (%eax),%eax
45d003:	ff d0                	call   *%eax
45d005:	3b 43 0c             	cmp    0xc(%ebx),%eax
45d008:	74 19                	je     0x45d023
45d00a:	6a ff                	push   $0xffffffff
45d00c:	8b 43 0c             	mov    0xc(%ebx),%eax
45d00f:	50                   	push   %eax
45d010:	57                   	push   %edi
45d011:	8b 43 04             	mov    0x4(%ebx),%eax
45d014:	e8 93 49 ff ff       	call   0x4519ac
45d019:	50                   	push   %eax
45d01a:	a1 ec 74 4a 00       	mov    0x4a74ec,%eax
45d01f:	8b 00                	mov    (%eax),%eax
45d021:	ff d0                	call   *%eax
45d023:	5f                   	pop    %edi
45d024:	5e                   	pop    %esi
45d025:	5b                   	pop    %ebx
45d026:	c3                   	ret
45d027:	90                   	nop
45d028:	53                   	push   %ebx
45d029:	56                   	push   %esi
45d02a:	8b d8                	mov    %eax,%ebx
45d02c:	3b 53 30             	cmp    0x30(%ebx),%edx
45d02f:	74 35                	je     0x45d066
45d031:	8b f2                	mov    %edx,%esi
45d033:	85 f6                	test   %esi,%esi
45d035:	75 17                	jne    0x45d04e
45d037:	0f b6 43 18          	movzbl 0x18(%ebx),%eax
45d03b:	8b 04 85 b4 c7 49 00 	mov    0x49c7b4(,%eax,4),%eax
45d042:	50                   	push   %eax
45d043:	a1 28 75 4a 00       	mov    0x4a7528,%eax
45d048:	8b 00                	mov    (%eax),%eax
45d04a:	ff d0                	call   *%eax
45d04c:	8b d0                	mov    %eax,%edx
45d04e:	89 53 30             	mov    %edx,0x30(%ebx)
45d051:	c6 43 44 01          	movb   $0x1,0x44(%ebx)
45d055:	8b 43 04             	mov    0x4(%ebx),%eax
45d058:	e8 87 05 00 00       	call   0x45d5e4
45d05d:	85 f6                	test   %esi,%esi
45d05f:	75 05                	jne    0x45d066
45d061:	33 c0                	xor    %eax,%eax
45d063:	89 43 30             	mov    %eax,0x30(%ebx)
45d066:	5e                   	pop    %esi
45d067:	5b                   	pop    %ebx
45d068:	c3                   	ret
45d069:	8d 40 00             	lea    0x0(%eax),%eax
45d06c:	3a 50 34             	cmp    0x34(%eax),%dl
45d06f:	74 0f                	je     0x45d080
45d071:	88 50 34             	mov    %dl,0x34(%eax)
45d074:	c6 40 44 01          	movb   $0x1,0x44(%eax)
45d078:	8b 40 04             	mov    0x4(%eax),%eax
45d07b:	e8 64 05 00 00       	call   0x45d5e4
45d080:	c3                   	ret
45d081:	8d 40 00             	lea    0x0(%eax),%eax
45d084:	3b 50 38             	cmp    0x38(%eax),%edx
45d087:	74 0f                	je     0x45d098
45d089:	89 50 38             	mov    %edx,0x38(%eax)
45d08c:	c6 40 44 01          	movb   $0x1,0x44(%eax)
45d090:	8b 40 04             	mov    0x4(%eax),%eax
45d093:	e8 4c 05 00 00       	call   0x45d5e4
45d098:	c3                   	ret
45d099:	8d 40 00             	lea    0x0(%eax),%eax
45d09c:	8b ca                	mov    %edx,%ecx
45d09e:	89 48 10             	mov    %ecx,0x10(%eax)
45d0a1:	85 c9                	test   %ecx,%ecx
45d0a3:	7d 05                	jge    0x45d0aa
45d0a5:	33 d2                	xor    %edx,%edx
45d0a7:	89 50 10             	mov    %edx,0x10(%eax)
45d0aa:	8b 40 04             	mov    0x4(%eax),%eax
45d0ad:	e8 32 05 00 00       	call   0x45d5e4
45d0b2:	c3                   	ret
45d0b3:	90                   	nop
45d0b4:	8b 48 04             	mov    0x4(%eax),%ecx
45d0b7:	c6 81 58 02 00 00 00 	movb   $0x0,0x258(%ecx)
45d0be:	c6 40 1e 01          	movb   $0x1,0x1e(%eax)
45d0c2:	e8 d5 ff ff ff       	call   0x45d09c
45d0c7:	c3                   	ret
45d0c8:	8b 40 04             	mov    0x4(%eax),%eax
45d0cb:	0f b6 80 58 02 00 00 	movzbl 0x258(%eax),%eax
45d0d2:	34 01                	xor    $0x1,%al
45d0d4:	c3                   	ret
45d0d5:	8d 40 00             	lea    0x0(%eax),%eax
45d0d8:	88 50 1c             	mov    %dl,0x1c(%eax)
45d0db:	8b 40 04             	mov    0x4(%eax),%eax
45d0de:	e8 01 05 00 00       	call   0x45d5e4
45d0e3:	c3                   	ret
45d0e4:	55                   	push   %ebp
45d0e5:	8b ec                	mov    %esp,%ebp
45d0e7:	53                   	push   %ebx
45d0e8:	56                   	push   %esi
45d0e9:	8b d8                	mov    %eax,%ebx
45d0eb:	8b 75 08             	mov    0x8(%ebp),%esi
45d0ee:	83 c6 fc             	add    $0xfffffffc,%esi
45d0f1:	80 fb 01             	cmp    $0x1,%bl
45d0f4:	f5                   	cmc
45d0f5:	1b c0                	sbb    %eax,%eax
45d0f7:	50                   	push   %eax
45d0f8:	8b 06                	mov    (%esi),%eax
45d0fa:	0f b6 40 34          	movzbl 0x34(%eax),%eax
45d0fe:	8b 04 85 e4 c7 49 00 	mov    0x49c7e4(,%eax,4),%eax
45d105:	50                   	push   %eax
45d106:	8b 06                	mov    (%esi),%eax
45d108:	0f b6 40 18          	movzbl 0x18(%eax),%eax
45d10c:	8d 04 80             	lea    (%eax,%eax,4),%eax
45d10f:	8b 04 85 bc c7 49 00 	mov    0x49c7bc(,%eax,4),%eax
45d116:	50                   	push   %eax
45d117:	8b 06                	mov    (%esi),%eax
45d119:	8b 40 04             	mov    0x4(%eax),%eax
45d11c:	e8 8b 48 ff ff       	call   0x4519ac
45d121:	50                   	push   %eax
45d122:	e8 31 f2 fd ff       	call   0x43c358
45d127:	8b 06                	mov    (%esi),%eax
45d129:	83 78 24 00          	cmpl   $0x0,0x24(%eax)
45d12d:	7e 29                	jle    0x45d158
45d12f:	6a 00                	push   $0x0
45d131:	8b 06                	mov    (%esi),%eax
45d133:	8b 40 24             	mov    0x24(%eax),%eax
45d136:	50                   	push   %eax
45d137:	8b 06                	mov    (%esi),%eax
45d139:	0f b6 40 18          	movzbl 0x18(%eax),%eax
45d13d:	8d 04 80             	lea    (%eax,%eax,4),%eax
45d140:	8b 04 85 c0 c7 49 00 	mov    0x49c7c0(,%eax,4),%eax
45d147:	50                   	push   %eax
45d148:	8b 06                	mov    (%esi),%eax
45d14a:	8b 40 04             	mov    0x4(%eax),%eax
45d14d:	e8 5a 48 ff ff       	call   0x4519ac
45d152:	50                   	push   %eax
45d153:	e8 00 f2 fd ff       	call   0x43c358
45d158:	8b 06                	mov    (%esi),%eax
45d15a:	83 78 38 00          	cmpl   $0x0,0x38(%eax)
45d15e:	7e 29                	jle    0x45d189
45d160:	6a 00                	push   $0x0
45d162:	8b 06                	mov    (%esi),%eax
45d164:	8b 40 38             	mov    0x38(%eax),%eax
45d167:	50                   	push   %eax
45d168:	8b 06                	mov    (%esi),%eax
45d16a:	0f b6 40 18          	movzbl 0x18(%eax),%eax
45d16e:	8d 04 80             	lea    (%eax,%eax,4),%eax
45d171:	8b 04 85 c4 c7 49 00 	mov    0x49c7c4(,%eax,4),%eax
45d178:	50                   	push   %eax
45d179:	8b 06                	mov    (%esi),%eax
45d17b:	8b 40 04             	mov    0x4(%eax),%eax
45d17e:	e8 29 48 ff ff       	call   0x4519ac
45d183:	50                   	push   %eax
45d184:	e8 cf f1 fd ff       	call   0x43c358
45d189:	8b 06                	mov    (%esi),%eax
45d18b:	83 78 30 00          	cmpl   $0x0,0x30(%eax)
45d18f:	7e 29                	jle    0x45d1ba
45d191:	6a 00                	push   $0x0
45d193:	8b 06                	mov    (%esi),%eax
45d195:	8b 40 30             	mov    0x30(%eax),%eax
45d198:	50                   	push   %eax
45d199:	8b 06                	mov    (%esi),%eax
45d19b:	0f b6 40 18          	movzbl 0x18(%eax),%eax
45d19f:	8d 04 80             	lea    (%eax,%eax,4),%eax
45d1a2:	8b 04 85 c8 c7 49 00 	mov    0x49c7c8(,%eax,4),%eax
45d1a9:	50                   	push   %eax
45d1aa:	8b 06                	mov    (%esi),%eax
45d1ac:	8b 40 04             	mov    0x4(%eax),%eax
45d1af:	e8 f8 47 ff ff       	call   0x4519ac
45d1b4:	50                   	push   %eax
45d1b5:	e8 9e f1 fd ff       	call   0x43c358
45d1ba:	6a 00                	push   $0x0
45d1bc:	8b 06                	mov    (%esi),%eax
45d1be:	8b 40 28             	mov    0x28(%eax),%eax
45d1c1:	e8 a2 69 fc ff       	call   0x423b68
45d1c6:	50                   	push   %eax
45d1c7:	8b 06                	mov    (%esi),%eax
45d1c9:	0f b6 40 18          	movzbl 0x18(%eax),%eax
45d1cd:	8d 04 80             	lea    (%eax,%eax,4),%eax
45d1d0:	8b 04 85 cc c7 49 00 	mov    0x49c7cc(,%eax,4),%eax
45d1d7:	50                   	push   %eax
45d1d8:	8b 06                	mov    (%esi),%eax
45d1da:	8b 40 04             	mov    0x4(%eax),%eax