45ee19:	89 50 68             	mov    %edx,0x68(%eax)
45ee1c:	8b 46 0c             	mov    0xc(%esi),%eax
45ee1f:	66 89 48 6c          	mov    %cx,0x6c(%eax)
45ee23:	8b 46 0c             	mov    0xc(%esi),%eax
45ee26:	59                   	pop    %ecx
45ee27:	6a 03                	push   $0x3
45ee29:	66 89 48 6e          	mov    %cx,0x6e(%eax)
45ee2d:	8b 46 08             	mov    0x8(%esi),%eax
45ee30:	59                   	pop    %ecx
45ee31:	89 50 0c             	mov    %edx,0xc(%eax)
45ee34:	8b 46 0c             	mov    0xc(%esi),%eax
45ee37:	c7 40 70 04 9d 4b 00 	movl   $0x4b9d04,0x70(%eax)
45ee3e:	8b 46 0c             	mov    0xc(%esi),%eax
45ee41:	89 50 74             	mov    %edx,0x74(%eax)
45ee44:	8b 46 0c             	mov    0xc(%esi),%eax
45ee47:	89 48 78             	mov    %ecx,0x78(%eax)
45ee4a:	8b 46 0c             	mov    0xc(%esi),%eax
45ee4d:	c7 40 7c 02 00 00 00 	movl   $0x2,0x7c(%eax)
45ee54:	8b 46 0c             	mov    0xc(%esi),%eax
45ee57:	c7 80 80 00 00 00 04 	movl   $0x4,0x80(%eax)
45ee5e:	00 00 00
45ee61:	8b 46 0c             	mov    0xc(%esi),%eax
45ee64:	89 90 84 00 00 00    	mov    %edx,0x84(%eax)
45ee6a:	33 c9                	xor    %ecx,%ecx
45ee6c:	8b 46 0c             	mov    0xc(%esi),%eax
45ee6f:	41                   	inc    %ecx
45ee70:	6a 13                	push   $0x13
45ee72:	66 89 88 88 00 00 00 	mov    %cx,0x88(%eax)
45ee79:	8b 46 0c             	mov    0xc(%esi),%eax
45ee7c:	59                   	pop    %ecx
45ee7d:	66 89 88 8a 00 00 00 	mov    %cx,0x8a(%eax)
45ee84:	8b 46 08             	mov    0x8(%esi),%eax
45ee87:	89 50 10             	mov    %edx,0x10(%eax)
45ee8a:	8b 46 04             	mov    0x4(%esi),%eax
45ee8d:	89 45 dc             	mov    %eax,-0x24(%ebp)
45ee90:	89 45 e4             	mov    %eax,-0x1c(%ebp)
45ee93:	33 c0                	xor    %eax,%eax
45ee95:	89 55 d8             	mov    %edx,-0x28(%ebp)
45ee98:	8b c8                	mov    %eax,%ecx
45ee9a:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
45ee9d:	6a 08                	push   $0x8
45ee9f:	58                   	pop    %eax
45eea0:	85 db                	test   %ebx,%ebx
45eea2:	0f 8e 2b 02 00 00    	jle    0x45f0d3
45eea8:	8b 45 08             	mov    0x8(%ebp),%eax
45eeab:	c1 e0 02             	shl    $0x2,%eax
45eeae:	89 45 f4             	mov    %eax,-0xc(%ebp)
45eeb1:	8b 45 08             	mov    0x8(%ebp),%eax
45eeb4:	6b ff 1c             	imul   $0x1c,%edi,%edi
45eeb7:	83 c0 fe             	add    $0xfffffffe,%eax
45eeba:	89 45 e0             	mov    %eax,-0x20(%ebp)
45eebd:	8b 45 dc             	mov    -0x24(%ebp),%eax
45eec0:	89 7d ec             	mov    %edi,-0x14(%ebp)
45eec3:	0f b7 1c 48          	movzwl (%eax,%ecx,2),%ebx
45eec7:	66 3b 5d d0          	cmp    -0x30(%ebp),%bx
45eecb:	89 5d 08             	mov    %ebx,0x8(%ebp)
45eece:	8b 5d fc             	mov    -0x4(%ebp),%ebx
45eed1:	75 14                	jne    0x45eee7
45eed3:	33 d2                	xor    %edx,%edx
45eed5:	66 89 14 48          	mov    %dx,(%eax,%ecx,2)
45eed9:	8d 51 01             	lea    0x1(%ecx),%edx
45eedc:	8d 14 50             	lea    (%eax,%edx,2),%edx
45eedf:	89 55 d8             	mov    %edx,-0x28(%ebp)
45eee2:	e9 dd 01 00 00       	jmp    0x45f0c4
45eee7:	6a 0a                	push   $0xa
45eee9:	5e                   	pop    %esi
45eeea:	66 39 75 08          	cmp    %si,0x8(%ebp)
45eeee:	8b 75 e8             	mov    -0x18(%ebp),%esi
45eef1:	74 0b                	je     0x45eefe
45eef3:	66 83 7d 08 00       	cmpw   $0x0,0x8(%ebp)
45eef8:	0f 85 c6 01 00 00    	jne    0x45f0c4
45eefe:	33 db                	xor    %ebx,%ebx
45ef00:	66 89 1c 48          	mov    %bx,(%eax,%ecx,2)
45ef04:	8b 46 0c             	mov    0xc(%esi),%eax
45ef07:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
45ef0a:	89 0c 07             	mov    %ecx,(%edi,%eax,1)
45ef0d:	8b 4d e0             	mov    -0x20(%ebp),%ecx
45ef10:	8d 41 01             	lea    0x1(%ecx),%eax
45ef13:	89 45 e0             	mov    %eax,-0x20(%ebp)
45ef16:	8b 46 0c             	mov    0xc(%esi),%eax
45ef19:	8b 5d e0             	mov    -0x20(%ebp),%ebx
45ef1c:	89 5c 07 08          	mov    %ebx,0x8(%edi,%eax,1)
45ef20:	8b 46 0c             	mov    0xc(%esi),%eax
45ef23:	8b 5d fc             	mov    -0x4(%ebp),%ebx
45ef26:	89 4c 07 0c          	mov    %ecx,0xc(%edi,%eax,1)
45ef2a:	33 c9                	xor    %ecx,%ecx
45ef2c:	8b 46 0c             	mov    0xc(%esi),%eax
45ef2f:	41                   	inc    %ecx
45ef30:	66 89 4c 07 18       	mov    %cx,0x18(%edi,%eax,1)
45ef35:	33 c0                	xor    %eax,%eax
45ef37:	8b c8                	mov    %eax,%ecx
45ef39:	89 45 08             	mov    %eax,0x8(%ebp)
45ef3c:	66 39 02             	cmp    %ax,(%edx)
45ef3f:	74 33                	je     0x45ef74
45ef41:	6a 3b                	push   $0x3b
45ef43:	8b c2                	mov    %edx,%eax
45ef45:	8b d9                	mov    %ecx,%ebx
45ef47:	33 ff                	xor    %edi,%edi
45ef49:	5e                   	pop    %esi
45ef4a:	66 39 30             	cmp    %si,(%eax)
45ef4d:	75 0e                	jne    0x45ef5d
45ef4f:	66 39 78 02          	cmp    %di,0x2(%eax)
45ef53:	74 03                	je     0x45ef58
45ef55:	43                   	inc    %ebx
45ef56:	eb 05                	jmp    0x45ef5d
45ef58:	33 ff                	xor    %edi,%edi
45ef5a:	66 89 38             	mov    %di,(%eax)
45ef5d:	41                   	inc    %ecx
45ef5e:	8d 04 4a             	lea    (%edx,%ecx,2),%eax
45ef61:	66 39 38             	cmp    %di,(%eax)
45ef64:	75 e4                	jne    0x45ef4a
45ef66:	8b 75 e8             	mov    -0x18(%ebp),%esi
45ef69:	33 c0                	xor    %eax,%eax
45ef6b:	8b 7d ec             	mov    -0x14(%ebp),%edi
45ef6e:	89 5d 08             	mov    %ebx,0x8(%ebp)
45ef71:	8b 5d fc             	mov    -0x4(%ebp),%ebx
45ef74:	89 45 f0             	mov    %eax,-0x10(%ebp)
45ef77:	33 c0                	xor    %eax,%eax
45ef79:	85 c9                	test   %ecx,%ecx
45ef7b:	7e 25                	jle    0x45efa2
45ef7d:	6a 3b                	push   $0x3b
45ef7f:	5b                   	pop    %ebx
45ef80:	66 39 1c 42          	cmp    %bx,(%edx,%eax,2)
45ef84:	8b 5d fc             	mov    -0x4(%ebp),%ebx
45ef87:	74 07                	je     0x45ef90
45ef89:	40                   	inc    %eax
45ef8a:	3b c1                	cmp    %ecx,%eax
45ef8c:	7c ef                	jl     0x45ef7d
45ef8e:	eb 12                	jmp    0x45efa2
45ef90:	33 c9                	xor    %ecx,%ecx
45ef92:	66 89 0c 42          	mov    %cx,(%edx,%eax,2)
45ef96:	40                   	inc    %eax
45ef97:	8d 04 42             	lea    (%edx,%eax,2),%eax
45ef9a:	66 39 08             	cmp    %cx,(%eax)
45ef9d:	74 03                	je     0x45efa2
45ef9f:	89 45 f0             	mov    %eax,-0x10(%ebp)
45efa2:	8b 4e 0c             	mov    0xc(%esi),%ecx
45efa5:	8d 41 1a             	lea    0x1a(%ecx),%eax
45efa8:	83 c1 10             	add    $0x10,%ecx
45efab:	03 c7                	add    %edi,%eax
45efad:	03 cf                	add    %edi,%ecx
45efaf:	50                   	push   %eax
45efb0:	51                   	push   %ecx
45efb1:	52                   	push   %edx
45efb2:	e8 f8 f1 ff ff       	call   0x45e1af
45efb7:	8b 4e 0c             	mov    0xc(%esi),%ecx
45efba:	8b 45 08             	mov    0x8(%ebp),%eax
45efbd:	89 44 0f 14          	mov    %eax,0x14(%edi,%ecx,1)
45efc1:	33 c9                	xor    %ecx,%ecx
45efc3:	85 c0                	test   %eax,%eax
45efc5:	0f 84 c5 00 00 00    	je     0x45f090
45efcb:	6a 08                	push   $0x8
45efcd:	5a                   	pop    %edx
45efce:	f7 e2                	mul    %edx
45efd0:	0f 90 c1             	seto   %cl
45efd3:	f7 d9                	neg    %ecx
45efd5:	0b c8                	or     %eax,%ecx
45efd7:	51                   	push   %ecx
45efd8:	e8 19 20 fc ff       	call   0x420ff6
45efdd:	8b 55 f4             	mov    -0xc(%ebp),%edx
45efe0:	59                   	pop    %ecx
45efe1:	8b 4e 08             	mov    0x8(%esi),%ecx
45efe4:	89 04 0a             	mov    %eax,(%edx,%ecx,1)
45efe7:	8b 45 f0             	mov    -0x10(%ebp),%eax
45efea:	85 c0                	test   %eax,%eax
45efec:	0f 84 8f 00 00 00    	je     0x45f081
45eff2:	33 c9                	xor    %ecx,%ecx
45eff4:	33 db                	xor    %ebx,%ebx
45eff6:	66 39 18             	cmp    %bx,(%eax)
45eff9:	8b d0                	mov    %eax,%edx
45effb:	8b 5d fc             	mov    -0x4(%ebp),%ebx
45effe:	89 4d 08             	mov    %ecx,0x8(%ebp)
45f001:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
45f004:	74 54                	je     0x45f05a
45f006:	8b d8                	mov    %eax,%ebx
45f008:	6a 3b                	push   $0x3b
45f00a:	5f                   	pop    %edi
45f00b:	66 39 3b             	cmp    %di,(%ebx)
45f00e:	6a 00                	push   $0x0
45f010:	5f                   	pop    %edi
45f011:	75 38                	jne    0x45f04b
45f013:	33 c0                	xor    %eax,%eax
45f015:	52                   	push   %edx
45f016:	66 89 03             	mov    %ax,(%ebx)
45f019:	e8 8f 05 00 00       	call   0x45f5ad
45f01e:	8b 4e 08             	mov    0x8(%esi),%ecx
45f021:	8b 55 f4             	mov    -0xc(%ebp),%edx
45f024:	8b 7d 08             	mov    0x8(%ebp),%edi
45f027:	8b 0c 11             	mov    (%ecx,%edx,1),%ecx
45f02a:	66 89 44 f9 04       	mov    %ax,0x4(%ecx,%edi,8)
45f02f:	8b cf                	mov    %edi,%ecx
45f031:	8b 46 08             	mov    0x8(%esi),%eax
45f034:	8b 04 10             	mov    (%eax,%edx,1),%eax
45f037:	33 d2                	xor    %edx,%edx
45f039:	89 14 c8             	mov    %edx,(%eax,%ecx,8)
45f03c:	41                   	inc    %ecx
45f03d:	8b 45 f0             	mov    -0x10(%ebp),%eax
45f040:	8d 53 02             	lea    0x2(%ebx),%edx
45f043:	89 4d 08             	mov    %ecx,0x8(%ebp)
45f046:	33 ff                	xor    %edi,%edi
45f048:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
45f04b:	41                   	inc    %ecx
45f04c:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
45f04f:	8d 1c 48             	lea    (%eax,%ecx,2),%ebx
45f052:	66 39 3b             	cmp    %di,(%ebx)
45f055:	75 b1                	jne    0x45f008
45f057:	8b 5d fc             	mov    -0x4(%ebp),%ebx
45f05a:	52                   	push   %edx
45f05b:	e8 4d 05 00 00       	call   0x45f5ad
45f060:	8b 4e 08             	mov    0x8(%esi),%ecx
45f063:	8b 55 f4             	mov    -0xc(%ebp),%edx
45f066:	8b 7d 08             	mov    0x8(%ebp),%edi
45f069:	8b 0c 11             	mov    (%ecx,%edx,1),%ecx
45f06c:	66 89 44 f9 04       	mov    %ax,0x4(%ecx,%edi,8)
45f071:	8b cf                	mov    %edi,%ecx
45f073:	8b 46 08             	mov    0x8(%esi),%eax
45f076:	33 ff                	xor    %edi,%edi
45f078:	8b 04 10             	mov    (%eax,%edx,1),%eax
45f07b:	89 3c c8             	mov    %edi,(%eax,%ecx,8)
45f07e:	8b 7d ec             	mov    -0x14(%ebp),%edi
45f081:	8b 46 08             	mov    0x8(%esi),%eax
45f084:	8b 4e 0c             	mov    0xc(%esi),%ecx
45f087:	8b 04 02             	mov    (%edx,%eax,1),%eax
45f08a:	89 44 0f 04          	mov    %eax,0x4(%edi,%ecx,1)
45f08e:	eb 10                	jmp    0x45f0a0
45f090:	8b 46 08             	mov    0x8(%esi),%eax
45f093:	8b 55 f4             	mov    -0xc(%ebp),%edx
45f096:	89 0c 02             	mov    %ecx,(%edx,%eax,1)
45f099:	8b 46 0c             	mov    0xc(%esi),%eax
45f09c:	89 4c 07 04          	mov    %ecx,0x4(%edi,%eax,1)
45f0a0:	8b 45 e0             	mov    -0x20(%ebp),%eax
45f0a3:	83 c2 04             	add    $0x4,%edx
45f0a6:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
45f0a9:	83 c7 1c             	add    $0x1c,%edi
45f0ac:	89 45 e0             	mov    %eax,-0x20(%ebp)
45f0af:	8b 45 dc             	mov    -0x24(%ebp),%eax
45f0b2:	89 55 f4             	mov    %edx,-0xc(%ebp)
45f0b5:	8d 51 01             	lea    0x1(%ecx),%edx
45f0b8:	89 7d ec             	mov    %edi,-0x14(%ebp)
45f0bb:	8d 14 50             	lea    (%eax,%edx,2),%edx
45f0be:	89 55 e4             	mov    %edx,-0x1c(%ebp)
45f0c1:	8b 55 d8             	mov    -0x28(%ebp),%edx
45f0c4:	41                   	inc    %ecx
45f0c5:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
45f0c8:	3b cb                	cmp    %ebx,%ecx
45f0ca:	0f 8c f3 fd ff ff    	jl     0x45eec3
45f0d0:	6a 08                	push   $0x8
45f0d2:	58                   	pop    %eax
45f0d3:	50                   	push   %eax
45f0d4:	e8 1d 1f fc ff       	call   0x420ff6
45f0d9:	59                   	pop    %ecx
45f0da:	8b 4d f8             	mov    -0x8(%ebp),%ecx
45f0dd:	89 46 10             	mov    %eax,0x10(%esi)
45f0e0:	89 48 04             	mov    %ecx,0x4(%eax)
45f0e3:	8b 4e 10             	mov    0x10(%esi),%ecx
45f0e6:	8b 46 0c             	mov    0xc(%esi),%eax
45f0e9:	5f                   	pop    %edi
45f0ea:	5e                   	pop    %esi
45f0eb:	89 01                	mov    %eax,(%ecx)
45f0ed:	5b                   	pop    %ebx
45f0ee:	8b e5                	mov    %ebp,%esp
45f0f0:	5d                   	pop    %ebp
45f0f1:	c2 04 00             	ret    $0x4
45f0f4:	55                   	push   %ebp
45f0f5:	8b ec                	mov    %esp,%ebp
45f0f7:	83 ec 18             	sub    $0x18,%esp
45f0fa:	53                   	push   %ebx
45f0fb:	56                   	push   %esi
45f0fc:	57                   	push   %edi
45f0fd:	6a 10                	push   $0x10
45f0ff:	e8 f2 1e fc ff       	call   0x420ff6
45f104:	8b 75 08             	mov    0x8(%ebp),%esi
45f107:	8b d8                	mov    %eax,%ebx
45f109:	59                   	pop    %ecx
45f10a:	0f b7 06             	movzwl (%esi),%eax
45f10d:	83 f8 08             	cmp    $0x8,%eax
45f110:	75 0c                	jne    0x45f11e
45f112:	53                   	push   %ebx
45f113:	ff 76 08             	push   0x8(%esi)
45f116:	ff 15 30 f8 48 00    	call   *0x48f830
45f11c:	eb 69                	jmp    0x45f187
45f11e:	83 f8 24             	cmp    $0x24,%eax
45f121:	75 5b                	jne    0x45f17e
45f123:	8d 45 ec             	lea    -0x14(%ebp),%eax
45f126:	50                   	push   %eax
45f127:	ff 15 7c f4 48 00    	call   *0x48f47c
45f12d:	8b 46 0c             	mov    0xc(%esi),%eax
45f130:	8d 55 ec             	lea    -0x14(%ebp),%edx
45f133:	33 ff                	xor    %edi,%edi
45f135:	57                   	push   %edi
45f136:	52                   	push   %edx
45f137:	57                   	push   %edi
45f138:	89 7d f4             	mov    %edi,-0xc(%ebp)
45f13b:	89 7d f8             	mov    %edi,-0x8(%ebp)
45f13e:	8b 08                	mov    (%eax),%ecx
45f140:	57                   	push   %edi
45f141:	50                   	push   %eax
45f142:	ff 51 2c             	call   *0x2c(%ecx)
45f145:	85 c0                	test   %eax,%eax
45f147:	78 20                	js     0x45f169
45f149:	b8 0c 80 00 00       	mov    $0x800c,%eax
45f14e:	66 39 45 ec          	cmp    %ax,-0x14(%ebp)
45f152:	75 0c                	jne    0x45f160
45f154:	8b 45 f4             	mov    -0xc(%ebp),%eax
45f157:	8b fb                	mov    %ebx,%edi
45f159:	8b 70 08             	mov    0x8(%eax),%esi
45f15c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45f15d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45f15e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45f15f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45f160:	6a 1a                	push   $0x1a
45f162:	58                   	pop    %eax
45f163:	66 89 45 ec          	mov    %ax,-0x14(%ebp)
45f167:	eb 09                	jmp    0x45f172
45f169:	53                   	push   %ebx
45f16a:	e8 fd 1e fc ff       	call   0x42106c
45f16f:	59                   	pop    %ecx
45f170:	8b df                	mov    %edi,%ebx
45f172:	8d 45 ec             	lea    -0x14(%ebp),%eax
45f175:	50                   	push   %eax
45f176:	ff 15 5c f4 48 00    	call   *0x48f45c
45f17c:	eb 09                	jmp    0x45f187
45f17e:	8b 76 08             	mov    0x8(%esi),%esi
45f181:	8b fb                	mov    %ebx,%edi
45f183:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45f184:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45f185:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45f186:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45f187:	5f                   	pop    %edi
45f188:	5e                   	pop    %esi
45f189:	8b c3                	mov    %ebx,%eax
45f18b:	5b                   	pop    %ebx
45f18c:	8b e5                	mov    %ebp,%esp
45f18e:	5d                   	pop    %ebp
45f18f:	c2 04 00             	ret    $0x4
45f192:	55                   	push   %ebp
45f193:	8b ec                	mov    %esp,%ebp
45f195:	56                   	push   %esi
45f196:	6a 04                	push   $0x4
45f198:	e8 59 1e fc ff       	call   0x420ff6
45f19d:	8b f0                	mov    %eax,%esi
45f19f:	8b 45 08             	mov    0x8(%ebp),%eax
45f1a2:	59                   	pop    %ecx
45f1a3:	66 83 38 09          	cmpw   $0x9,(%eax)
45f1a7:	75 14                	jne    0x45f1bd
45f1a9:	8b 48 08             	mov    0x8(%eax),%ecx
45f1ac:	89 0e                	mov    %ecx,(%esi)
45f1ae:	8b 48 08             	mov    0x8(%eax),%ecx
45f1b1:	85 c9                	test   %ecx,%ecx
45f1b3:	74 0b                	je     0x45f1c0