437ef9:	6a 01                	push   $0x1
437efb:	8d 45 14             	lea    0x14(%ebp),%eax
437efe:	50                   	push   %eax
437eff:	8d 45 0c             	lea    0xc(%ebp),%eax
437f02:	50                   	push   %eax
437f03:	57                   	push   %edi
437f04:	e8 e9 b1 ff ff       	call   0x4330f2
437f09:	83 c4 1c             	add    $0x1c,%esp
437f0c:	09 06                	or     %eax,(%esi)
437f0e:	e9 b4 01 00 00       	jmp    0x4380c7
437f13:	68 f0 a9 49 00       	push   $0x49a9f0
437f18:	e9 74 ff ff ff       	jmp    0x437e91
437f1d:	ff 75 f0             	push   -0x10(%ebp)
437f20:	8b 45 24             	mov    0x24(%ebp),%eax
437f23:	83 c0 08             	add    $0x8,%eax
437f26:	50                   	push   %eax
437f27:	6a 17                	push   $0x17
437f29:	52                   	push   %edx
437f2a:	eb cf                	jmp    0x437efb
437f2c:	ff 75 f0             	push   -0x10(%ebp)
437f2f:	8d 45 e8             	lea    -0x18(%ebp),%eax
437f32:	50                   	push   %eax
437f33:	6a 0c                	push   $0xc
437f35:	6a 01                	push   $0x1
437f37:	8d 45 14             	lea    0x14(%ebp),%eax
437f3a:	50                   	push   %eax
437f3b:	8d 45 0c             	lea    0xc(%ebp),%eax
437f3e:	50                   	push   %eax
437f3f:	57                   	push   %edi
437f40:	e8 ad b1 ff ff       	call   0x4330f2
437f45:	8b 0e                	mov    (%esi),%ecx
437f47:	83 c4 1c             	add    $0x1c,%esp
437f4a:	0b c8                	or     %eax,%ecx
437f4c:	89 0e                	mov    %ecx,(%esi)
437f4e:	f6 c1 02             	test   $0x2,%cl
437f51:	0f 85 70 01 00 00    	jne    0x4380c7
437f57:	8b 4d e8             	mov    -0x18(%ebp),%ecx
437f5a:	8b 45 24             	mov    0x24(%ebp),%eax
437f5d:	83 e9 0c             	sub    $0xc,%ecx
437f60:	f7 d9                	neg    %ecx
437f62:	1b c9                	sbb    %ecx,%ecx
437f64:	23 4d e8             	and    -0x18(%ebp),%ecx
437f67:	89 48 08             	mov    %ecx,0x8(%eax)
437f6a:	e9 58 01 00 00       	jmp    0x4380c7
437f6f:	ff 75 f0             	push   -0x10(%ebp)
437f72:	8b 45 24             	mov    0x24(%ebp),%eax
437f75:	83 c0 1c             	add    $0x1c,%eax
437f78:	50                   	push   %eax
437f79:	68 6e 01 00 00       	push   $0x16e
437f7e:	e9 76 ff ff ff       	jmp    0x437ef9
437f83:	ff 75 f0             	push   -0x10(%ebp)
437f86:	8d 45 e8             	lea    -0x18(%ebp),%eax
437f89:	50                   	push   %eax
437f8a:	6a 0c                	push   $0xc
437f8c:	6a 01                	push   $0x1
437f8e:	8d 45 14             	lea    0x14(%ebp),%eax
437f91:	50                   	push   %eax
437f92:	8d 45 0c             	lea    0xc(%ebp),%eax
437f95:	50                   	push   %eax
437f96:	57                   	push   %edi
437f97:	e8 56 b1 ff ff       	call   0x4330f2
437f9c:	8b 0e                	mov    (%esi),%ecx
437f9e:	83 c4 1c             	add    $0x1c,%esp
437fa1:	0b c8                	or     %eax,%ecx
437fa3:	89 0e                	mov    %ecx,(%esi)
437fa5:	f6 c1 02             	test   $0x2,%cl
437fa8:	0f 85 19 01 00 00    	jne    0x4380c7
437fae:	8b 45 24             	mov    0x24(%ebp),%eax
437fb1:	8b 4d e8             	mov    -0x18(%ebp),%ecx
437fb4:	49                   	dec    %ecx
437fb5:	89 48 10             	mov    %ecx,0x10(%eax)
437fb8:	e9 0a 01 00 00       	jmp    0x4380c7
437fbd:	ff 75 f0             	push   -0x10(%ebp)
437fc0:	8b 45 24             	mov    0x24(%ebp),%eax
437fc3:	83 c0 04             	add    $0x4,%eax
437fc6:	50                   	push   %eax
437fc7:	6a 3b                	push   $0x3b
437fc9:	e9 5b ff ff ff       	jmp    0x437f29
437fce:	68 00 aa 49 00       	push   $0x49aa00
437fd3:	e9 b9 fe ff ff       	jmp    0x437e91
437fd8:	68 04 aa 49 00       	push   $0x49aa04
437fdd:	52                   	push   %edx
437fde:	8d 45 14             	lea    0x14(%ebp),%eax
437fe1:	50                   	push   %eax
437fe2:	8d 45 0c             	lea    0xc(%ebp),%eax
437fe5:	50                   	push   %eax
437fe6:	e8 82 56 ff ff       	call   0x42d66d
437feb:	83 c4 10             	add    $0x10,%esp
437fee:	85 c0                	test   %eax,%eax
437ff0:	79 08                	jns    0x437ffa
437ff2:	83 0e 02             	orl    $0x2,(%esi)
437ff5:	e9 cd 00 00 00       	jmp    0x4380c7
437ffa:	83 f8 01             	cmp    $0x1,%eax
437ffd:	0f 8e c4 00 00 00    	jle    0x4380c7
438003:	8b 45 24             	mov    0x24(%ebp),%eax
438006:	83 40 08 0c          	addl   $0xc,0x8(%eax)
43800a:	e9 b8 00 00 00       	jmp    0x4380c7
43800f:	68 14 aa 49 00       	push   $0x49aa14
438014:	e9 78 fe ff ff       	jmp    0x437e91
438019:	68 24 aa 49 00       	push   $0x49aa24
43801e:	e9 6e fe ff ff       	jmp    0x437e91
438023:	ff 75 f0             	push   -0x10(%ebp)
438026:	ff 75 24             	push   0x24(%ebp)
438029:	6a 3c                	push   $0x3c
43802b:	e9 f9 fe ff ff       	jmp    0x437f29
438030:	68 2c aa 49 00       	push   $0x49aa2c
438035:	e9 57 fe ff ff       	jmp    0x437e91
43803a:	ff 75 f0             	push   -0x10(%ebp)
43803d:	8b 45 24             	mov    0x24(%ebp),%eax
438040:	83 c0 1c             	add    $0x1c,%eax
438043:	50                   	push   %eax
438044:	6a 35                	push   $0x35
438046:	e9 de fe ff ff       	jmp    0x437f29
43804b:	ff 75 f0             	push   -0x10(%ebp)
43804e:	8b 45 24             	mov    0x24(%ebp),%eax
438051:	83 c0 18             	add    $0x18,%eax
438054:	50                   	push   %eax
438055:	6a 06                	push   $0x6
438057:	e9 cd fe ff ff       	jmp    0x437f29
43805c:	68 3c aa 49 00       	push   $0x49aa3c
438061:	e9 2b fe ff ff       	jmp    0x437e91
438066:	ff 75 f0             	push   -0x10(%ebp)
438069:	8d 45 e8             	lea    -0x18(%ebp),%eax
43806c:	50                   	push   %eax
43806d:	6a 63                	push   $0x63
43806f:	52                   	push   %edx
438070:	8d 45 14             	lea    0x14(%ebp),%eax
438073:	50                   	push   %eax
438074:	8d 45 0c             	lea    0xc(%ebp),%eax
438077:	50                   	push   %eax
438078:	57                   	push   %edi
438079:	e8 74 b0 ff ff       	call   0x4330f2
43807e:	8b 0e                	mov    (%esi),%ecx
438080:	83 c4 1c             	add    $0x1c,%esp
438083:	0b c8                	or     %eax,%ecx
438085:	89 0e                	mov    %ecx,(%esi)
438087:	f6 c1 02             	test   $0x2,%cl
43808a:	75 3b                	jne    0x4380c7
43808c:	8b 4d e8             	mov    -0x18(%ebp),%ecx
43808f:	83 f9 45             	cmp    $0x45,%ecx
438092:	0f 8d 4a fe ff ff    	jge    0x437ee2
438098:	83 c1 64             	add    $0x64,%ecx
43809b:	e9 42 fe ff ff       	jmp    0x437ee2
4380a0:	ff 75 24             	push   0x24(%ebp)
4380a3:	8d 45 ec             	lea    -0x14(%ebp),%eax
4380a6:	8b cf                	mov    %edi,%ecx
4380a8:	56                   	push   %esi
4380a9:	53                   	push   %ebx
4380aa:	ff 75 18             	push   0x18(%ebp)
4380ad:	ff 75 14             	push   0x14(%ebp)
4380b0:	ff 75 10             	push   0x10(%ebp)
4380b3:	ff 75 0c             	push   0xc(%ebp)
4380b6:	50                   	push   %eax
4380b7:	e8 3b 2f 00 00       	call   0x43aff7
4380bc:	e9 9d fd ff ff       	jmp    0x437e5e
4380c1:	c7 06 02 00 00 00    	movl   $0x2,(%esi)
4380c7:	8d 45 14             	lea    0x14(%ebp),%eax
4380ca:	50                   	push   %eax
4380cb:	8d 4d 0c             	lea    0xc(%ebp),%ecx
4380ce:	e8 6d 2d 00 00       	call   0x43ae40
4380d3:	84 c0                	test   %al,%al
4380d5:	74 03                	je     0x4380da
4380d7:	83 0e 01             	orl    $0x1,(%esi)
4380da:	8b 45 08             	mov    0x8(%ebp),%eax
4380dd:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4380e0:	89 08                	mov    %ecx,(%eax)
4380e2:	8b 4d 10             	mov    0x10(%ebp),%ecx
4380e5:	89 48 04             	mov    %ecx,0x4(%eax)
4380e8:	e8 26 79 00 00       	call   0x43fa13
4380ed:	c2 28 00             	ret    $0x28
4380f0:	90                   	nop
4380f1:	42                   	inc    %edx
4380f2:	7e 43                	jle    0x438137
4380f4:	00 6e 7e             	add    %ch,0x7e(%esi)
4380f7:	43                   	inc    %ebx
4380f8:	00 af 7e 43 00 13    	add    %ch,0x1300437e(%edi)
4380fe:	7f 43                	jg     0x438143
438100:	00 1d 7f 43 00 2c    	add    %bl,0x2c00437f
438106:	7f 43                	jg     0x43814b
438108:	00 bd 7f 43 00 19    	add    %bh,0x1900437f(%ebp)
43810e:	80 43 00 23          	addb   $0x23,0x0(%ebx)
438112:	80 43 00 30          	addb   $0x30,0x0(%ebx)
438116:	80 43 00 3a          	addb   $0x3a,0x0(%ebx)
43811a:	80 43 00 a0          	addb   $0xa0,0x0(%ebx)
43811e:	80 43 00 8c          	addb   $0x8c,0x0(%ebx)
438122:	7e 43                	jle    0x438167
438124:	00 ed                	add    %ch,%ch
438126:	7e 43                	jle    0x43816b
438128:	00 6f 7f             	add    %ch,0x7f(%edi)
43812b:	43                   	inc    %ebx
43812c:	00 83 7f 43 00 ce    	add    %al,-0x31ffbc81(%ebx)
438132:	7f 43                	jg     0x438177
438134:	00 d8                	add    %bl,%al
438136:	7f 43                	jg     0x43817b
438138:	00 0f                	add    %cl,(%edi)
43813a:	80 43 00 4b          	addb   $0x4b,0x0(%ebx)
43813e:	80 43 00 5c          	addb   $0x5c,0x0(%ebx)
438142:	80 43 00 66          	addb   $0x66,0x0(%ebx)
438146:	80 43 00 c1          	addb   $0xc1,0x0(%ebx)
43814a:	80 43 00 00          	addb   $0x0,0x0(%ebx)
43814e:	01 02                	add    %eax,(%edx)
438150:	03 16                	add    (%esi),%edx
438152:	16                   	push   %ss
438153:	16                   	push   %ss
438154:	04 05                	add    $0x5,%al
438156:	16                   	push   %ss
438157:	16                   	push   %ss
438158:	16                   	push   %ss
438159:	06                   	push   %es
43815a:	16                   	push   %ss
43815b:	16                   	push   %ss
43815c:	16                   	push   %ss
43815d:	16                   	push   %ss
43815e:	07                   	pop    %es
43815f:	08 09                	or     %cl,(%ecx)
438161:	0a 16                	or     (%esi),%dl
438163:	0a 09                	or     (%ecx),%cl
438165:	0b 16                	or     (%esi),%edx
438167:	16                   	push   %ss
438168:	16                   	push   %ss
438169:	16                   	push   %ss
43816a:	16                   	push   %ss
43816b:	16                   	push   %ss
43816c:	16                   	push   %ss
43816d:	00 01                	add    %al,(%ecx)
43816f:	0c 0d                	or     $0xd,%al
438171:	0d 16 16 01 16       	or     $0x16011616,%eax
438176:	0e                   	push   %cs
438177:	16                   	push   %ss
438178:	16                   	push   %ss
438179:	0f 10 16             	movups (%esi),%xmm2
43817c:	11 16                	adc    %edx,(%esi)
43817e:	12 16                	adc    (%esi),%dl
438180:	10 16                	adc    %dl,(%esi)
438182:	16                   	push   %ss
438183:	13 14 15 6a 10 b8 6b 	adc    0x6bb8106a(,%edx,1),%edx
43818a:	25 49 00 e8 b8       	and    $0xb8e80049,%eax
43818f:	78 00                	js     0x438191
438191:	00 8b f9 8b 5d 1c    	add    %cl,0x1c5d8bf9(%ebx)
438197:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
43819a:	ff 73 30             	push   0x30(%ebx)
43819d:	e8 9a 0c ff ff       	call   0x428e3c
4381a2:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4381a6:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4381a9:	50                   	push   %eax
4381aa:	e8 b3 0b fd ff       	call   0x408d62
4381af:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4381b3:	59                   	pop    %ecx
4381b4:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
4381b7:	89 45 f0             	mov    %eax,-0x10(%ebp)
4381ba:	e8 28 72 fd ff       	call   0x40f3e7
4381bf:	8b 75 20             	mov    0x20(%ebp),%esi
4381c2:	33 d2                	xor    %edx,%edx
4381c4:	0f be 4d 28          	movsbl 0x28(%ebp),%ecx
4381c8:	83 c1 bf             	add    $0xffffffbf,%ecx
4381cb:	89 55 e8             	mov    %edx,-0x18(%ebp)
4381ce:	89 16                	mov    %edx,(%esi)
4381d0:	83 f9 38             	cmp    $0x38,%ecx
4381d3:	0f 87 8d 02 00 00    	ja     0x438466
4381d9:	0f b6 81 f2 84 43 00 	movzbl 0x4384f2(%ecx),%eax
4381e0:	ff 24 85 96 84 43 00 	jmp    *0x438496(,%eax,4)
4381e7:	ff 75 24             	push   0x24(%ebp)
4381ea:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4381ed:	8b cf                	mov    %edi,%ecx
4381ef:	56                   	push   %esi
4381f0:	53                   	push   %ebx
4381f1:	ff 75 18             	push   0x18(%ebp)
4381f4:	ff 75 14             	push   0x14(%ebp)
4381f7:	ff 75 10             	push   0x10(%ebp)
4381fa:	ff 75 0c             	push   0xc(%ebp)
4381fd:	50                   	push   %eax
4381fe:	e8 bc 2d 00 00       	call   0x43afbf
438203:	8b 08                	mov    (%eax),%ecx
438205:	89 4d 0c             	mov    %ecx,0xc(%ebp)
438208:	8b 40 04             	mov    0x4(%eax),%eax
43820b:	89 45 10             	mov    %eax,0x10(%ebp)
43820e:	e9 59 02 00 00       	jmp    0x43846c
438213:	ff 75 24             	push   0x24(%ebp)
438216:	8d 45 e4             	lea    -0x1c(%ebp),%eax
438219:	8b cf                	mov    %edi,%ecx
43821b:	56                   	push   %esi
43821c:	53                   	push   %ebx
43821d:	ff 75 18             	push   0x18(%ebp)
438220:	ff 75 14             	push   0x14(%ebp)
438223:	ff 75 10             	push   0x10(%ebp)
438226:	ff 75 0c             	push   0xc(%ebp)
438229:	50                   	push   %eax
43822a:	e8 20 2d 00 00       	call   0x43af4f
43822f:	eb d2                	jmp    0x438203
438231:	68 d8 a9 49 00       	push   $0x49a9d8
438236:	ff 75 24             	push   0x24(%ebp)
438239:	8d 45 e4             	lea    -0x1c(%ebp),%eax
43823c:	8b cf                	mov    %edi,%ecx
43823e:	56                   	push   %esi
43823f:	53                   	push   %ebx
438240:	ff 75 18             	push   0x18(%ebp)
438243:	ff 75 14             	push   0x14(%ebp)
438246:	ff 75 10             	push   0x10(%ebp)
438249:	ff 75 0c             	push   0xc(%ebp)
43824c:	50                   	push   %eax
43824d:	e8 6d a9 ff ff       	call   0x432bbf
438252:	eb af                	jmp    0x438203
438254:	ff 75 f0             	push   -0x10(%ebp)
438257:	8d 45 e8             	lea    -0x18(%ebp),%eax
43825a:	50                   	push   %eax
43825b:	6a 63                	push   $0x63
43825d:	52                   	push   %edx
43825e:	8d 45 14             	lea    0x14(%ebp),%eax
438261:	50                   	push   %eax
438262:	8d 45 0c             	lea    0xc(%ebp),%eax
438265:	50                   	push   %eax
438266:	57                   	push   %edi
438267:	e8 36 b0 ff ff       	call   0x4332a2
43826c:	8b 0e                	mov    (%esi),%ecx
43826e:	83 c4 1c             	add    $0x1c,%esp
438271:	0b c8                	or     %eax,%ecx
438273:	89 0e                	mov    %ecx,(%esi)
438275:	f6 c1 02             	test   $0x2,%cl
438278:	0f 85 ee 01 00 00    	jne    0x43846c
43827e:	8b 45 e8             	mov    -0x18(%ebp),%eax
438281:	83 c0 ed             	add    $0xffffffed,%eax
438284:	6b c8 64             	imul   $0x64,%eax,%ecx
438287:	8b 45 24             	mov    0x24(%ebp),%eax
43828a:	89 48 14             	mov    %ecx,0x14(%eax)
43828d:	e9 da 01 00 00       	jmp    0x43846c
438292:	ff 75 f0             	push   -0x10(%ebp)
438295:	8b 45 24             	mov    0x24(%ebp),%eax
438298:	83 c0 0c             	add    $0xc,%eax
43829b:	50                   	push   %eax
43829c:	6a 1f                	push   $0x1f
43829e:	6a 01                	push   $0x1
4382a0:	8d 45 14             	lea    0x14(%ebp),%eax
4382a3:	50                   	push   %eax
4382a4:	8d 45 0c             	lea    0xc(%ebp),%eax
4382a7:	50                   	push   %eax
4382a8:	57                   	push   %edi
4382a9:	e8 f4 af ff ff       	call   0x4332a2
4382ae:	83 c4 1c             	add    $0x1c,%esp
4382b1:	09 06                	or     %eax,(%esi)
4382b3:	e9 b4 01 00 00       	jmp    0x43846c
4382b8:	68 f0 a9 49 00       	push   $0x49a9f0
4382bd:	e9 74 ff ff ff       	jmp    0x438236
4382c2:	ff 75 f0             	push   -0x10(%ebp)
4382c5:	8b 45 24             	mov    0x24(%ebp),%eax
4382c8:	83 c0 08             	add    $0x8,%eax
4382cb:	50                   	push   %eax
4382cc:	6a 17                	push   $0x17
4382ce:	52                   	push   %edx
4382cf:	eb cf                	jmp    0x4382a0
4382d1:	ff 75 f0             	push   -0x10(%ebp)