43fe8f:	8b ce                	mov    %esi,%ecx
43fe91:	ff 50 0c             	call   *0xc(%eax)
43fe94:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
43fe98:	0f b7 c8             	movzwl %ax,%ecx
43fe9b:	8d 45 d8             	lea    -0x28(%ebp),%eax
43fe9e:	0f 43 45 d8          	cmovae -0x28(%ebp),%eax
43fea2:	3b df                	cmp    %edi,%ebx
43fea4:	66 89 0c 58          	mov    %cx,(%eax,%ebx,2)
43fea8:	0f 44 5d a4          	cmove  -0x5c(%ebp),%ebx
43feac:	8d 55 c0             	lea    -0x40(%ebp),%edx
43feaf:	83 7d d4 10          	cmpl   $0x10,-0x2c(%ebp)
43feb3:	8b 4d ec             	mov    -0x14(%ebp),%ecx
43feb6:	0f 43 55 c0          	cmovae -0x40(%ebp),%edx
43feba:	8b 75 e8             	mov    -0x18(%ebp),%esi
43febd:	89 55 bc             	mov    %edx,-0x44(%ebp)
43fec0:	8a 02                	mov    (%edx),%al
43fec2:	3c 7f                	cmp    $0x7f,%al
43fec4:	0f 84 e7 00 00 00    	je     0x43ffb1
43feca:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
43fed0:	84 c0                	test   %al,%al
43fed2:	0f 8e d9 00 00 00    	jle    0x43ffb1
43fed8:	0f be f8             	movsbl %al,%edi
43fedb:	8b c3                	mov    %ebx,%eax
43fedd:	2b 45 b8             	sub    -0x48(%ebp),%eax
43fee0:	3b f8                	cmp    %eax,%edi
43fee2:	0f 83 c9 00 00 00    	jae    0x43ffb1
43fee8:	2b df                	sub    %edi,%ebx
43feea:	3b f3                	cmp    %ebx,%esi
43feec:	0f 82 cb 02 00 00    	jb     0x4401bd
43fef2:	83 c8 ff             	or     $0xffffffff,%eax
43fef5:	2b c6                	sub    %esi,%eax
43fef7:	83 f8 01             	cmp    $0x1,%eax
43fefa:	0f 86 b8 02 00 00    	jbe    0x4401b8
43ff00:	8d 7e 01             	lea    0x1(%esi),%edi
43ff03:	81 ff fe ff ff 7f    	cmp    $0x7ffffffe,%edi
43ff09:	0f 87 a9 02 00 00    	ja     0x4401b8
43ff0f:	3b cf                	cmp    %edi,%ecx
43ff11:	0f 83 b4 00 00 00    	jae    0x43ffcb
43ff17:	56                   	push   %esi
43ff18:	57                   	push   %edi
43ff19:	8d 4d d8             	lea    -0x28(%ebp),%ecx
43ff1c:	e8 bf 91 ff ff       	call   0x4390e0
43ff21:	8b 4d ec             	mov    -0x14(%ebp),%ecx
43ff24:	8b 75 e8             	mov    -0x18(%ebp),%esi
43ff27:	8b 55 bc             	mov    -0x44(%ebp),%edx
43ff2a:	85 ff                	test   %edi,%edi
43ff2c:	74 6c                	je     0x43ff9a
43ff2e:	8b 55 d8             	mov    -0x28(%ebp),%edx
43ff31:	8d 45 d8             	lea    -0x28(%ebp),%eax
43ff34:	83 f9 08             	cmp    $0x8,%ecx
43ff37:	0f 43 c2             	cmovae %edx,%eax
43ff3a:	89 45 a4             	mov    %eax,-0x5c(%ebp)
43ff3d:	8d 45 d8             	lea    -0x28(%ebp),%eax
43ff40:	0f 43 c2             	cmovae %edx,%eax
43ff43:	89 45 a0             	mov    %eax,-0x60(%ebp)
43ff46:	2b f3                	sub    %ebx,%esi
43ff48:	74 23                	je     0x43ff6d
43ff4a:	8d 04 36             	lea    (%esi,%esi,1),%eax
43ff4d:	50                   	push   %eax
43ff4e:	8b 45 a4             	mov    -0x5c(%ebp),%eax
43ff51:	8d 04 58             	lea    (%eax,%ebx,2),%eax
43ff54:	50                   	push   %eax
43ff55:	8b 45 a0             	mov    -0x60(%ebp),%eax
43ff58:	8d 04 58             	lea    (%eax,%ebx,2),%eax
43ff5b:	83 c0 02             	add    $0x2,%eax
43ff5e:	50                   	push   %eax
43ff5f:	e8 1c 35 1a 00       	call   0x5e3480
43ff64:	8b 4d ec             	mov    -0x14(%ebp),%ecx
43ff67:	83 c4 0c             	add    $0xc,%esp
43ff6a:	8b 55 d8             	mov    -0x28(%ebp),%edx
43ff6d:	83 f9 08             	cmp    $0x8,%ecx
43ff70:	8d 45 d8             	lea    -0x28(%ebp),%eax
43ff73:	8b 4d ac             	mov    -0x54(%ebp),%ecx
43ff76:	0f 43 c2             	cmovae %edx,%eax
43ff79:	8b 55 bc             	mov    -0x44(%ebp),%edx
43ff7c:	66 89 0c 58          	mov    %cx,(%eax,%ebx,2)
43ff80:	8d 45 d8             	lea    -0x28(%ebp),%eax
43ff83:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
43ff87:	89 7d e8             	mov    %edi,-0x18(%ebp)
43ff8a:	0f 43 45 d8          	cmovae -0x28(%ebp),%eax
43ff8e:	33 c9                	xor    %ecx,%ecx
43ff90:	66 89 0c 78          	mov    %cx,(%eax,%edi,2)
43ff94:	8b 75 e8             	mov    -0x18(%ebp),%esi
43ff97:	8b 4d ec             	mov    -0x14(%ebp),%ecx
43ff9a:	80 7a 01 00          	cmpb   $0x0,0x1(%edx)
43ff9e:	8d 42 01             	lea    0x1(%edx),%eax
43ffa1:	0f 4f d0             	cmovg  %eax,%edx
43ffa4:	89 55 bc             	mov    %edx,-0x44(%ebp)
43ffa7:	8a 02                	mov    (%edx),%al
43ffa9:	3c 7f                	cmp    $0x7f,%al
43ffab:	0f 85 1f ff ff ff    	jne    0x43fed0
43ffb1:	8b 45 b0             	mov    -0x50(%ebp),%eax
43ffb4:	83 78 24 00          	cmpl   $0x0,0x24(%eax)
43ffb8:	8b 78 20             	mov    0x20(%eax),%edi
43ffbb:	7c 2a                	jl     0x43ffe7
43ffbd:	7f 04                	jg     0x43ffc3
43ffbf:	85 ff                	test   %edi,%edi
43ffc1:	74 24                	je     0x43ffe7
43ffc3:	3b fe                	cmp    %esi,%edi
43ffc5:	76 20                	jbe    0x43ffe7
43ffc7:	2b fe                	sub    %esi,%edi
43ffc9:	eb 1e                	jmp    0x43ffe9
43ffcb:	85 ff                	test   %edi,%edi
43ffcd:	0f 85 5b ff ff ff    	jne    0x43ff2e
43ffd3:	83 f9 08             	cmp    $0x8,%ecx
43ffd6:	89 7d e8             	mov    %edi,-0x18(%ebp)
43ffd9:	8d 45 d8             	lea    -0x28(%ebp),%eax
43ffdc:	0f 43 45 d8          	cmovae -0x28(%ebp),%eax
43ffe0:	33 c9                	xor    %ecx,%ecx
43ffe2:	66 89 08             	mov    %cx,(%eax)
43ffe5:	eb ad                	jmp    0x43ff94
43ffe7:	33 ff                	xor    %edi,%edi
43ffe9:	8b 40 14             	mov    0x14(%eax),%eax
43ffec:	8b 5d 08             	mov    0x8(%ebp),%ebx
43ffef:	25 c0 01 00 00       	and    $0x1c0,%eax
43fff4:	83 f8 40             	cmp    $0x40,%eax
43fff7:	0f 84 88 00 00 00    	je     0x440085
43fffd:	3d 00 01 00 00       	cmp    $0x100,%eax
440002:	74 41                	je     0x440045
440004:	57                   	push   %edi
440005:	ff 75 1c             	push   0x1c(%ebp)
440008:	8d 45 a8             	lea    -0x58(%ebp),%eax
44000b:	ff 75 14             	push   0x14(%ebp)
44000e:	ff 75 10             	push   0x10(%ebp)
440011:	50                   	push   %eax
440012:	53                   	push   %ebx
440013:	e8 78 f7 ff ff       	call   0x43f790
440018:	ff 75 b8             	push   -0x48(%ebp)
44001b:	33 ff                	xor    %edi,%edi
44001d:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
440021:	8b 10                	mov    (%eax),%edx
440023:	89 55 10             	mov    %edx,0x10(%ebp)
440026:	8b 48 04             	mov    0x4(%eax),%ecx
440029:	8d 45 d8             	lea    -0x28(%ebp),%eax
44002c:	0f 43 45 d8          	cmovae -0x28(%ebp),%eax
440030:	50                   	push   %eax
440031:	51                   	push   %ecx
440032:	52                   	push   %edx
440033:	8d 45 a8             	lea    -0x58(%ebp),%eax
440036:	89 4d 14             	mov    %ecx,0x14(%ebp)
440039:	50                   	push   %eax
44003a:	53                   	push   %ebx
44003b:	e8 c0 f7 ff ff       	call   0x43f800
440040:	83 c4 30             	add    $0x30,%esp
440043:	eb 61                	jmp    0x4400a6
440045:	ff 75 b8             	push   -0x48(%ebp)
440048:	83 f9 08             	cmp    $0x8,%ecx
44004b:	8d 45 d8             	lea    -0x28(%ebp),%eax
44004e:	0f 43 45 d8          	cmovae -0x28(%ebp),%eax
440052:	50                   	push   %eax
440053:	ff 75 14             	push   0x14(%ebp)
440056:	8d 45 a8             	lea    -0x58(%ebp),%eax
440059:	ff 75 10             	push   0x10(%ebp)
44005c:	50                   	push   %eax
44005d:	53                   	push   %ebx
44005e:	e8 9d f7 ff ff       	call   0x43f800
440063:	57                   	push   %edi
440064:	ff 75 1c             	push   0x1c(%ebp)
440067:	8b 08                	mov    (%eax),%ecx
440069:	89 4d 10             	mov    %ecx,0x10(%ebp)
44006c:	8b 40 04             	mov    0x4(%eax),%eax
44006f:	50                   	push   %eax
440070:	89 45 14             	mov    %eax,0x14(%ebp)
440073:	8d 45 a8             	lea    -0x58(%ebp),%eax
440076:	51                   	push   %ecx
440077:	50                   	push   %eax
440078:	53                   	push   %ebx
440079:	e8 12 f7 ff ff       	call   0x43f790
44007e:	83 c4 30             	add    $0x30,%esp
440081:	33 ff                	xor    %edi,%edi
440083:	eb 21                	jmp    0x4400a6
440085:	ff 75 b8             	push   -0x48(%ebp)
440088:	83 f9 08             	cmp    $0x8,%ecx
44008b:	8d 45 d8             	lea    -0x28(%ebp),%eax
44008e:	0f 43 45 d8          	cmovae -0x28(%ebp),%eax
440092:	50                   	push   %eax
440093:	ff 75 14             	push   0x14(%ebp)
440096:	8d 45 a8             	lea    -0x58(%ebp),%eax
440099:	ff 75 10             	push   0x10(%ebp)
44009c:	50                   	push   %eax
44009d:	53                   	push   %ebx
44009e:	e8 5d f7 ff ff       	call   0x43f800
4400a3:	83 c4 18             	add    $0x18,%esp
4400a6:	8b 10                	mov    (%eax),%edx
4400a8:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
4400ac:	8b 4d b8             	mov    -0x48(%ebp),%ecx
4400af:	89 55 10             	mov    %edx,0x10(%ebp)
4400b2:	8b 40 04             	mov    0x4(%eax),%eax
4400b5:	89 45 bc             	mov    %eax,-0x44(%ebp)
4400b8:	89 45 14             	mov    %eax,0x14(%ebp)
4400bb:	8d 45 d8             	lea    -0x28(%ebp),%eax
4400be:	0f 43 45 d8          	cmovae -0x28(%ebp),%eax
4400c2:	2b f1                	sub    %ecx,%esi
4400c4:	56                   	push   %esi
4400c5:	8d 04 48             	lea    (%eax,%ecx,2),%eax
4400c8:	50                   	push   %eax
4400c9:	ff 75 bc             	push   -0x44(%ebp)
4400cc:	8d 45 a8             	lea    -0x58(%ebp),%eax
4400cf:	52                   	push   %edx
4400d0:	50                   	push   %eax
4400d1:	53                   	push   %ebx
4400d2:	e8 29 f7 ff ff       	call   0x43f800
4400d7:	8b 55 b0             	mov    -0x50(%ebp),%edx
4400da:	8b 75 98             	mov    -0x68(%ebp),%esi
4400dd:	57                   	push   %edi
4400de:	8b 08                	mov    (%eax),%ecx
4400e0:	ff 75 1c             	push   0x1c(%ebp)
4400e3:	89 4d 10             	mov    %ecx,0x10(%ebp)
4400e6:	8b 40 04             	mov    0x4(%eax),%eax
4400e9:	50                   	push   %eax
4400ea:	51                   	push   %ecx
4400eb:	56                   	push   %esi
4400ec:	53                   	push   %ebx
4400ed:	89 45 14             	mov    %eax,0x14(%ebp)
4400f0:	c7 42 20 00 00 00 00 	movl   $0x0,0x20(%edx)
4400f7:	c7 42 24 00 00 00 00 	movl   $0x0,0x24(%edx)
4400fe:	e8 8d f6 ff ff       	call   0x43f790
440103:	8b 45 d4             	mov    -0x2c(%ebp),%eax
440106:	83 c4 30             	add    $0x30,%esp
440109:	83 f8 10             	cmp    $0x10,%eax
44010c:	72 36                	jb     0x440144
44010e:	8b 55 c0             	mov    -0x40(%ebp),%edx
440111:	40                   	inc    %eax
440112:	8b ca                	mov    %edx,%ecx
440114:	3d 00 10 00 00       	cmp    $0x1000,%eax
440119:	72 20                	jb     0x44013b
44011b:	f6 c1 1f             	test   $0x1f,%cl
44011e:	0f 85 8f 00 00 00    	jne    0x4401b3
440124:	8b 52 fc             	mov    -0x4(%edx),%edx
440127:	3b d1                	cmp    %ecx,%edx
440129:	0f 83 84 00 00 00    	jae    0x4401b3
44012f:	2b ca                	sub    %edx,%ecx
440131:	83 f9 04             	cmp    $0x4,%ecx
440134:	72 7d                	jb     0x4401b3
440136:	83 f9 23             	cmp    $0x23,%ecx
440139:	77 78                	ja     0x4401b3
44013b:	52                   	push   %edx
44013c:	e8 8f 03 0b 00       	call   0x4f04d0
440141:	83 c4 04             	add    $0x4,%esp
440144:	8b 45 ec             	mov    -0x14(%ebp),%eax
440147:	c7 45 d4 0f 00 00 00 	movl   $0xf,-0x2c(%ebp)
44014e:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
440155:	c6 45 c0 00          	movb   $0x0,-0x40(%ebp)
440159:	83 f8 08             	cmp    $0x8,%eax
44015c:	72 37                	jb     0x440195
44015e:	8b 55 d8             	mov    -0x28(%ebp),%edx
440161:	40                   	inc    %eax
440162:	8b ca                	mov    %edx,%ecx
440164:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
440169:	77 48                	ja     0x4401b3
44016b:	03 c0                	add    %eax,%eax
44016d:	3d 00 10 00 00       	cmp    $0x1000,%eax
440172:	72 18                	jb     0x44018c
440174:	f6 c1 1f             	test   $0x1f,%cl
440177:	75 3a                	jne    0x4401b3
440179:	8b 52 fc             	mov    -0x4(%edx),%edx
44017c:	3b d1                	cmp    %ecx,%edx
44017e:	73 33                	jae    0x4401b3
440180:	2b ca                	sub    %edx,%ecx
440182:	83 f9 04             	cmp    $0x4,%ecx
440185:	72 2c                	jb     0x4401b3
440187:	83 f9 23             	cmp    $0x23,%ecx
44018a:	77 27                	ja     0x4401b3
44018c:	52                   	push   %edx
44018d:	e8 3e 03 0b 00       	call   0x4f04d0
440192:	83 c4 04             	add    $0x4,%esp
440195:	8b c6                	mov    %esi,%eax
440197:	8b 4d f4             	mov    -0xc(%ebp),%ecx
44019a:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4401a1:	59                   	pop    %ecx
4401a2:	5f                   	pop    %edi
4401a3:	5e                   	pop    %esi
4401a4:	5b                   	pop    %ebx
4401a5:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4401a8:	33 cd                	xor    %ebp,%ecx
4401aa:	e8 2b 13 1a 00       	call   0x5e14da
4401af:	8b e5                	mov    %ebp,%esp
4401b1:	5d                   	pop    %ebp
4401b2:	c3                   	ret
4401b3:	e8 77 cd 1a 00       	call   0x5ecf2f
4401b8:	e8 13 8e ff ff       	call   0x438fd0
4401bd:	e8 0e 8f ff ff       	call   0x4390d0
4401c2:	cc                   	int3
4401c3:	cc                   	int3
4401c4:	cc                   	int3
4401c5:	cc                   	int3
4401c6:	cc                   	int3
4401c7:	cc                   	int3
4401c8:	cc                   	int3
4401c9:	cc                   	int3
4401ca:	cc                   	int3
4401cb:	cc                   	int3
4401cc:	cc                   	int3
4401cd:	cc                   	int3
4401ce:	cc                   	int3
4401cf:	cc                   	int3
4401d0:	55                   	push   %ebp
4401d1:	8b ec                	mov    %esp,%ebp
4401d3:	8b 55 14             	mov    0x14(%ebp),%edx
4401d6:	56                   	push   %esi
4401d7:	8b 75 0c             	mov    0xc(%ebp),%esi
4401da:	c6 06 25             	movb   $0x25,(%esi)
4401dd:	8d 46 01             	lea    0x1(%esi),%eax
4401e0:	f6 c2 20             	test   $0x20,%dl
4401e3:	74 04                	je     0x4401e9
4401e5:	c6 00 2b             	movb   $0x2b,(%eax)
4401e8:	40                   	inc    %eax
4401e9:	f6 c2 10             	test   $0x10,%dl
4401ec:	74 04                	je     0x4401f2
4401ee:	c6 00 23             	movb   $0x23,(%eax)
4401f1:	40                   	inc    %eax
4401f2:	8a 4d 10             	mov    0x10(%ebp),%cl
4401f5:	66 c7 00 2e 2a       	movw   $0x2a2e,(%eax)
4401fa:	83 c0 02             	add    $0x2,%eax
4401fd:	84 c9                	test   %cl,%cl
4401ff:	74 03                	je     0x440204
440201:	88 08                	mov    %cl,(%eax)
440203:	40                   	inc    %eax
440204:	8b ca                	mov    %edx,%ecx
440206:	81 e1 00 30 00 00    	and    $0x3000,%ecx
44020c:	f6 c2 04             	test   $0x4,%dl
44020f:	74 38                	je     0x440249
440211:	81 f9 00 20 00 00    	cmp    $0x2000,%ecx
440217:	74 38                	je     0x440251
440219:	81 f9 00 30 00 00    	cmp    $0x3000,%ecx
44021f:	75 0d                	jne    0x44022e
440221:	b1 41                	mov    $0x41,%cl
440223:	88 08                	mov    %cl,(%eax)
440225:	c6 40 01 00          	movb   $0x0,0x1(%eax)
440229:	8b c6                	mov    %esi,%eax
44022b:	5e                   	pop    %esi
44022c:	5d                   	pop    %ebp
44022d:	c3                   	ret
44022e:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
440234:	0f 95 c1             	setne  %cl
440237:	8d 0c 4d 45 00 00 00 	lea    0x45(,%ecx,2),%ecx
44023e:	88 08                	mov    %cl,(%eax)
440240:	c6 40 01 00          	movb   $0x0,0x1(%eax)
440244:	8b c6                	mov    %esi,%eax
440246:	5e                   	pop    %esi
440247:	5d                   	pop    %ebp
440248:	c3                   	ret
440249:	81 f9 00 20 00 00    	cmp    $0x2000,%ecx
44024f:	75 0d                	jne    0x44025e
440251:	b1 66                	mov    $0x66,%cl
440253:	88 08                	mov    %cl,(%eax)
440255:	c6 40 01 00          	movb   $0x0,0x1(%eax)
440259:	8b c6                	mov    %esi,%eax
44025b:	5e                   	pop    %esi
44025c:	5d                   	pop    %ebp