436f18:	99                   	cltd
436f19:	f7 ff                	idiv   %edi
436f1b:	00 46 03             	add    %al,0x3(%esi)
436f1e:	00 56 04             	add    %dl,0x4(%esi)
436f21:	83 7d 18 02          	cmpl   $0x2,0x18(%ebp)
436f25:	75 14                	jne    0x436f3b
436f27:	80 39 30             	cmpb   $0x30,(%ecx)
436f2a:	75 0f                	jne    0x436f3b
436f2c:	6a 03                	push   $0x3
436f2e:	8d 41 01             	lea    0x1(%ecx),%eax
436f31:	50                   	push   %eax
436f32:	51                   	push   %ecx
436f33:	e8 38 7c ff ff       	call   0x42eb70
436f38:	83 c4 0c             	add    $0xc,%esp
436f3b:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
436f3f:	74 0a                	je     0x436f4b
436f41:	8b 45 f0             	mov    -0x10(%ebp),%eax
436f44:	83 a0 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%eax)
436f4b:	33 c0                	xor    %eax,%eax
436f4d:	e9 f2 fe ff ff       	jmp    0x436e44
436f52:	33 c0                	xor    %eax,%eax
436f54:	50                   	push   %eax
436f55:	50                   	push   %eax
436f56:	50                   	push   %eax
436f57:	50                   	push   %eax
436f58:	50                   	push   %eax
436f59:	e8 2c ce ff ff       	call   0x433d8a
436f5e:	cc                   	int3
436f5f:	8b ff                	mov    %edi,%edi
436f61:	55                   	push   %ebp
436f62:	8b ec                	mov    %esp,%ebp
436f64:	83 ec 0c             	sub    $0xc,%esp
436f67:	33 c0                	xor    %eax,%eax
436f69:	56                   	push   %esi
436f6a:	57                   	push   %edi
436f6b:	ff 75 18             	push   0x18(%ebp)
436f6e:	8d 7d f4             	lea    -0xc(%ebp),%edi
436f71:	ff 75 14             	push   0x14(%ebp)
436f74:	ab                   	stos   %eax,%es:(%edi)
436f75:	ab                   	stos   %eax,%es:(%edi)
436f76:	ab                   	stos   %eax,%es:(%edi)
436f77:	8d 45 f4             	lea    -0xc(%ebp),%eax
436f7a:	8b 7d 1c             	mov    0x1c(%ebp),%edi
436f7d:	50                   	push   %eax
436f7e:	8b 45 08             	mov    0x8(%ebp),%eax
436f81:	57                   	push   %edi
436f82:	ff 70 04             	push   0x4(%eax)
436f85:	ff 30                	push   (%eax)
436f87:	e8 d2 38 00 00       	call   0x43a85e
436f8c:	83 c9 ff             	or     $0xffffffff,%ecx
436f8f:	83 c4 18             	add    $0x18,%esp
436f92:	39 4d 10             	cmp    %ecx,0x10(%ebp)
436f95:	74 0e                	je     0x436fa5
436f97:	8b 4d 10             	mov    0x10(%ebp),%ecx
436f9a:	33 c0                	xor    %eax,%eax
436f9c:	83 7d f4 2d          	cmpl   $0x2d,-0xc(%ebp)
436fa0:	0f 94 c0             	sete   %al
436fa3:	2b c8                	sub    %eax,%ecx
436fa5:	8b 75 0c             	mov    0xc(%ebp),%esi
436fa8:	8d 45 f4             	lea    -0xc(%ebp),%eax
436fab:	50                   	push   %eax
436fac:	8b 45 f8             	mov    -0x8(%ebp),%eax
436faf:	03 c7                	add    %edi,%eax
436fb1:	50                   	push   %eax
436fb2:	33 c0                	xor    %eax,%eax
436fb4:	83 7d f4 2d          	cmpl   $0x2d,-0xc(%ebp)
436fb8:	51                   	push   %ecx
436fb9:	0f 94 c0             	sete   %al
436fbc:	03 c6                	add    %esi,%eax
436fbe:	50                   	push   %eax
436fbf:	e8 fd 32 00 00       	call   0x43a2c1
436fc4:	83 c4 10             	add    $0x10,%esp
436fc7:	85 c0                	test   %eax,%eax
436fc9:	74 05                	je     0x436fd0
436fcb:	c6 06 00             	movb   $0x0,(%esi)
436fce:	eb 16                	jmp    0x436fe6
436fd0:	ff 75 20             	push   0x20(%ebp)
436fd3:	8d 45 f4             	lea    -0xc(%ebp),%eax
436fd6:	6a 00                	push   $0x0
436fd8:	50                   	push   %eax
436fd9:	57                   	push   %edi
436fda:	ff 75 10             	push   0x10(%ebp)
436fdd:	56                   	push   %esi
436fde:	e8 09 00 00 00       	call   0x436fec
436fe3:	83 c4 18             	add    $0x18,%esp
436fe6:	5f                   	pop    %edi
436fe7:	5e                   	pop    %esi
436fe8:	8b e5                	mov    %ebp,%esp
436fea:	5d                   	pop    %ebp
436feb:	c3                   	ret
436fec:	8b ff                	mov    %edi,%edi
436fee:	55                   	push   %ebp
436fef:	8b ec                	mov    %esp,%ebp
436ff1:	83 ec 10             	sub    $0x10,%esp
436ff4:	8d 4d f0             	lea    -0x10(%ebp),%ecx
436ff7:	53                   	push   %ebx
436ff8:	56                   	push   %esi
436ff9:	57                   	push   %edi
436ffa:	ff 75 1c             	push   0x1c(%ebp)
436ffd:	e8 b5 a9 ff ff       	call   0x4319b7
437002:	8b 55 14             	mov    0x14(%ebp),%edx
437005:	8b 7d 10             	mov    0x10(%ebp),%edi
437008:	8b 5d 08             	mov    0x8(%ebp),%ebx
43700b:	8b 4a 04             	mov    0x4(%edx),%ecx
43700e:	49                   	dec    %ecx
43700f:	80 7d 18 00          	cmpb   $0x0,0x18(%ebp)
437013:	74 14                	je     0x437029
437015:	3b cf                	cmp    %edi,%ecx
437017:	75 10                	jne    0x437029
437019:	33 c0                	xor    %eax,%eax
43701b:	83 3a 2d             	cmpl   $0x2d,(%edx)
43701e:	0f 94 c0             	sete   %al
437021:	03 c1                	add    %ecx,%eax
437023:	66 c7 04 18 30 00    	movw   $0x30,(%eax,%ebx,1)
437029:	83 3a 2d             	cmpl   $0x2d,(%edx)
43702c:	8b f3                	mov    %ebx,%esi
43702e:	75 06                	jne    0x437036
437030:	c6 03 2d             	movb   $0x2d,(%ebx)
437033:	8d 73 01             	lea    0x1(%ebx),%esi
437036:	8b 42 04             	mov    0x4(%edx),%eax
437039:	85 c0                	test   %eax,%eax
43703b:	7f 15                	jg     0x437052
43703d:	6a 01                	push   $0x1
43703f:	56                   	push   %esi
437040:	ff 75 0c             	push   0xc(%ebp)
437043:	53                   	push   %ebx
437044:	e8 3a 02 00 00       	call   0x437283
437049:	83 c4 10             	add    $0x10,%esp
43704c:	c6 06 30             	movb   $0x30,(%esi)
43704f:	46                   	inc    %esi
437050:	eb 02                	jmp    0x437054
437052:	03 f0                	add    %eax,%esi
437054:	85 ff                	test   %edi,%edi
437056:	7e 52                	jle    0x4370aa
437058:	6a 01                	push   $0x1
43705a:	56                   	push   %esi
43705b:	ff 75 0c             	push   0xc(%ebp)
43705e:	53                   	push   %ebx
43705f:	e8 1f 02 00 00       	call   0x437283
437064:	8b 45 f4             	mov    -0xc(%ebp),%eax
437067:	83 c4 10             	add    $0x10,%esp
43706a:	8b 80 88 00 00 00    	mov    0x88(%eax),%eax
437070:	8b 00                	mov    (%eax),%eax
437072:	8a 00                	mov    (%eax),%al
437074:	88 06                	mov    %al,(%esi)
437076:	46                   	inc    %esi
437077:	8b 45 14             	mov    0x14(%ebp),%eax
43707a:	8b 48 04             	mov    0x4(%eax),%ecx
43707d:	85 c9                	test   %ecx,%ecx
43707f:	79 29                	jns    0x4370aa
437081:	80 7d 18 00          	cmpb   $0x0,0x18(%ebp)
437085:	75 08                	jne    0x43708f
437087:	8b c1                	mov    %ecx,%eax
437089:	f7 d8                	neg    %eax
43708b:	3b c7                	cmp    %edi,%eax
43708d:	7d 04                	jge    0x437093
43708f:	8b f9                	mov    %ecx,%edi
437091:	f7 df                	neg    %edi
437093:	57                   	push   %edi
437094:	56                   	push   %esi
437095:	ff 75 0c             	push   0xc(%ebp)
437098:	53                   	push   %ebx
437099:	e8 e5 01 00 00       	call   0x437283
43709e:	57                   	push   %edi
43709f:	6a 30                	push   $0x30
4370a1:	56                   	push   %esi
4370a2:	e8 c9 85 ff ff       	call   0x42f670
4370a7:	83 c4 1c             	add    $0x1c,%esp
4370aa:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
4370ae:	5f                   	pop    %edi
4370af:	5e                   	pop    %esi
4370b0:	5b                   	pop    %ebx
4370b1:	74 0a                	je     0x4370bd
4370b3:	8b 45 f0             	mov    -0x10(%ebp),%eax
4370b6:	83 a0 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%eax)
4370bd:	33 c0                	xor    %eax,%eax
4370bf:	8b e5                	mov    %ebp,%esp
4370c1:	5d                   	pop    %ebp
4370c2:	c3                   	ret
4370c3:	8b ff                	mov    %edi,%edi
4370c5:	55                   	push   %ebp
4370c6:	8b ec                	mov    %esp,%ebp
4370c8:	83 ec 10             	sub    $0x10,%esp
4370cb:	53                   	push   %ebx
4370cc:	56                   	push   %esi
4370cd:	57                   	push   %edi
4370ce:	ff 75 18             	push   0x18(%ebp)
4370d1:	33 c0                	xor    %eax,%eax
4370d3:	8d 7d f0             	lea    -0x10(%ebp),%edi
4370d6:	ff 75 14             	push   0x14(%ebp)
4370d9:	ab                   	stos   %eax,%es:(%edi)
4370da:	ab                   	stos   %eax,%es:(%edi)
4370db:	ab                   	stos   %eax,%es:(%edi)
4370dc:	8d 45 f0             	lea    -0x10(%ebp),%eax
4370df:	8b 7d 1c             	mov    0x1c(%ebp),%edi
4370e2:	50                   	push   %eax
4370e3:	8b 45 08             	mov    0x8(%ebp),%eax
4370e6:	57                   	push   %edi
4370e7:	ff 70 04             	push   0x4(%eax)
4370ea:	ff 30                	push   (%eax)
4370ec:	e8 6d 37 00 00       	call   0x43a85e
4370f1:	8b 45 f4             	mov    -0xc(%ebp),%eax
4370f4:	33 c9                	xor    %ecx,%ecx
4370f6:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4370f9:	83 c4 18             	add    $0x18,%esp
4370fc:	83 7d f0 2d          	cmpl   $0x2d,-0x10(%ebp)
437100:	0f 94 c1             	sete   %cl
437103:	48                   	dec    %eax
437104:	89 45 fc             	mov    %eax,-0x4(%ebp)
437107:	83 c8 ff             	or     $0xffffffff,%eax
43710a:	8d 34 19             	lea    (%ecx,%ebx,1),%esi
43710d:	39 45 10             	cmp    %eax,0x10(%ebp)
437110:	74 05                	je     0x437117
437112:	8b 45 10             	mov    0x10(%ebp),%eax
437115:	2b c1                	sub    %ecx,%eax
437117:	8d 4d f0             	lea    -0x10(%ebp),%ecx
43711a:	51                   	push   %ecx
43711b:	57                   	push   %edi
43711c:	50                   	push   %eax
43711d:	56                   	push   %esi
43711e:	e8 9e 31 00 00       	call   0x43a2c1
437123:	83 c4 10             	add    $0x10,%esp
437126:	85 c0                	test   %eax,%eax
437128:	74 05                	je     0x43712f
43712a:	c6 03 00             	movb   $0x0,(%ebx)
43712d:	eb 55                	jmp    0x437184
43712f:	8b 45 f4             	mov    -0xc(%ebp),%eax
437132:	48                   	dec    %eax
437133:	39 45 fc             	cmp    %eax,-0x4(%ebp)
437136:	0f 9c c1             	setl   %cl
437139:	83 f8 fc             	cmp    $0xfffffffc,%eax
43713c:	7c 2a                	jl     0x437168
43713e:	3b c7                	cmp    %edi,%eax
437140:	7d 26                	jge    0x437168
437142:	84 c9                	test   %cl,%cl
437144:	74 0a                	je     0x437150
437146:	8a 06                	mov    (%esi),%al
437148:	46                   	inc    %esi
437149:	84 c0                	test   %al,%al
43714b:	75 f9                	jne    0x437146
43714d:	88 46 fe             	mov    %al,-0x2(%esi)
437150:	ff 75 28             	push   0x28(%ebp)
437153:	8d 45 f0             	lea    -0x10(%ebp),%eax
437156:	6a 01                	push   $0x1
437158:	50                   	push   %eax
437159:	57                   	push   %edi
43715a:	ff 75 10             	push   0x10(%ebp)
43715d:	53                   	push   %ebx
43715e:	e8 89 fe ff ff       	call   0x436fec
437163:	83 c4 18             	add    $0x18,%esp
437166:	eb 1c                	jmp    0x437184
437168:	ff 75 28             	push   0x28(%ebp)
43716b:	8d 45 f0             	lea    -0x10(%ebp),%eax
43716e:	6a 01                	push   $0x1
437170:	50                   	push   %eax
437171:	ff 75 24             	push   0x24(%ebp)
437174:	ff 75 20             	push   0x20(%ebp)
437177:	57                   	push   %edi
437178:	ff 75 10             	push   0x10(%ebp)
43717b:	53                   	push   %ebx
43717c:	e8 93 fc ff ff       	call   0x436e14
437181:	83 c4 20             	add    $0x20,%esp
437184:	5f                   	pop    %edi
437185:	5e                   	pop    %esi
437186:	5b                   	pop    %ebx
437187:	8b e5                	mov    %ebp,%esp
437189:	5d                   	pop    %ebp
43718a:	c3                   	ret
43718b:	8b ff                	mov    %edi,%edi
43718d:	55                   	push   %ebp
43718e:	8b ec                	mov    %esp,%ebp
437190:	83 ec 48             	sub    $0x48,%esp
437193:	a1 08 a0 46 00       	mov    0x46a008,%eax
437198:	33 c5                	xor    %ebp,%eax
43719a:	89 45 fc             	mov    %eax,-0x4(%ebp)
43719d:	8b 55 14             	mov    0x14(%ebp),%edx
4371a0:	8b 4d 10             	mov    0x10(%ebp),%ecx
4371a3:	53                   	push   %ebx
4371a4:	8a 5d 0c             	mov    0xc(%ebp),%bl
4371a7:	0f b6 c3             	movzbl %bl,%eax
4371aa:	83 c0 04             	add    $0x4,%eax
4371ad:	3b d0                	cmp    %eax,%edx
4371af:	73 15                	jae    0x4371c6
4371b1:	6a 0c                	push   $0xc
4371b3:	c6 01 00             	movb   $0x0,(%ecx)
4371b6:	58                   	pop    %eax
4371b7:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4371ba:	33 cd                	xor    %ebp,%ecx
4371bc:	5b                   	pop    %ebx
4371bd:	e8 74 6c ff ff       	call   0x42de36
4371c2:	8b e5                	mov    %ebp,%esp
4371c4:	5d                   	pop    %ebp
4371c5:	c3                   	ret
4371c6:	84 db                	test   %bl,%bl
4371c8:	74 08                	je     0x4371d2
4371ca:	c6 01 2d             	movb   $0x2d,(%ecx)
4371cd:	41                   	inc    %ecx
4371ce:	4a                   	dec    %edx
4371cf:	c6 01 00             	movb   $0x0,(%ecx)
4371d2:	b8 c4 1c 46 00       	mov    $0x461cc4,%eax
4371d7:	c7 45 dc d4 1c 46 00 	movl   $0x461cd4,-0x24(%ebp)
4371de:	89 45 bc             	mov    %eax,-0x44(%ebp)
4371e1:	33 db                	xor    %ebx,%ebx
4371e3:	38 5d 18             	cmp    %bl,0x18(%ebp)
4371e6:	89 45 c0             	mov    %eax,-0x40(%ebp)
4371e9:	b8 c8 1c 46 00       	mov    $0x461cc8,%eax
4371ee:	89 45 c4             	mov    %eax,-0x3c(%ebp)
4371f1:	0f 95 c3             	setne  %bl
4371f4:	89 45 c8             	mov    %eax,-0x38(%ebp)
4371f7:	4b                   	dec    %ebx
4371f8:	b8 d0 1c 46 00       	mov    $0x461cd0,%eax
4371fd:	c7 45 e4 e0 1c 46 00 	movl   $0x461ce0,-0x1c(%ebp)
437204:	89 45 d4             	mov    %eax,-0x2c(%ebp)
437207:	83 e3 02             	and    $0x2,%ebx
43720a:	89 45 d8             	mov    %eax,-0x28(%ebp)
43720d:	89 45 e8             	mov    %eax,-0x18(%ebp)
437210:	89 45 f8             	mov    %eax,-0x8(%ebp)
437213:	8b 45 08             	mov    0x8(%ebp),%eax
437216:	56                   	push   %esi
437217:	be cc 1c 46 00       	mov    $0x461ccc,%esi
43721c:	c7 45 ec ec 1c 46 00 	movl   $0x461cec,-0x14(%ebp)
437223:	57                   	push   %edi
437224:	8d 3c 85 fc ff ff ff 	lea    -0x4(,%eax,4),%edi
43722b:	89 75 cc             	mov    %esi,-0x34(%ebp)
43722e:	8d 04 1f             	lea    (%edi,%ebx,1),%eax
437231:	89 75 d0             	mov    %esi,-0x30(%ebp)
437234:	89 75 e0             	mov    %esi,-0x20(%ebp)
437237:	89 75 f0             	mov    %esi,-0x10(%ebp)
43723a:	c7 45 f4 f8 1c 46 00 	movl   $0x461cf8,-0xc(%ebp)
437241:	8b 74 85 bc          	mov    -0x44(%ebp,%eax,4),%esi
437245:	8d 46 01             	lea    0x1(%esi),%eax
437248:	89 45 b8             	mov    %eax,-0x48(%ebp)
43724b:	8a 06                	mov    (%esi),%al
43724d:	46                   	inc    %esi
43724e:	84 c0                	test   %al,%al
437250:	75 f9                	jne    0x43724b
437252:	2b 75 b8             	sub    -0x48(%ebp),%esi
437255:	3b f2                	cmp    %edx,%esi
437257:	1b c0                	sbb    %eax,%eax
437259:	47                   	inc    %edi
43725a:	03 c7                	add    %edi,%eax
43725c:	03 c3                	add    %ebx,%eax
43725e:	ff 74 85 bc          	push   -0x44(%ebp,%eax,4)
437262:	52                   	push   %edx
437263:	51                   	push   %ecx
437264:	e8 39 df ff ff       	call   0x4351a2
437269:	83 c4 0c             	add    $0xc,%esp
43726c:	5f                   	pop    %edi
43726d:	5e                   	pop    %esi
43726e:	85 c0                	test   %eax,%eax