41adb4:	ff 77 04             	push   0x4(%edi)
41adb7:	ff 15 40 a4 44 00    	call   *0x44a440
41adbd:	59                   	pop    %ecx
41adbe:	59                   	pop    %ecx
41adbf:	85 c0                	test   %eax,%eax
41adc1:	74 42                	je     0x41ae05
41adc3:	6a 30                	push   $0x30
41adc5:	59                   	pop    %ecx
41adc6:	e8 05 2f ff ff       	call   0x40dcd0
41adcb:	8b f0                	mov    %eax,%esi
41adcd:	85 f6                	test   %esi,%esi
41adcf:	74 7e                	je     0x41ae4f
41add1:	89 37                	mov    %esi,(%edi)
41add3:	8b bd c0 fb ff ff    	mov    -0x440(%ebp),%edi
41add9:	89 b5 b8 fb ff ff    	mov    %esi,-0x448(%ebp)
41addf:	8b 4f 04             	mov    0x4(%edi),%ecx
41ade2:	e8 64 57 ff ff       	call   0x41054b
41ade7:	89 46 04             	mov    %eax,0x4(%esi)
41adea:	33 c0                	xor    %eax,%eax
41adec:	89 06                	mov    %eax,(%esi)
41adee:	8a 47 08             	mov    0x8(%edi),%al
41adf1:	88 46 10             	mov    %al,0x10(%esi)
41adf4:	89 7e 0c             	mov    %edi,0xc(%esi)
41adf7:	c7 46 08 01 00 00 00 	movl   $0x1,0x8(%esi)
41adfe:	8b f7                	mov    %edi,%esi
41ae00:	e9 1e cf fe ff       	jmp    0x407d23
41ae05:	ff 47 08             	incl   0x8(%edi)
41ae08:	e9 16 cf fe ff       	jmp    0x407d23
41ae0d:	33 f6                	xor    %esi,%esi
41ae0f:	80 bd c7 fb ff ff 00 	cmpb   $0x0,-0x439(%ebp)
41ae16:	0f 84 a3 cd fe ff    	je     0x407bbf
41ae1c:	56                   	push   %esi
41ae1d:	51                   	push   %ecx
41ae1e:	e9 95 cd fe ff       	jmp    0x407bb8
41ae23:	80 bd c7 fb ff ff 00 	cmpb   $0x0,-0x439(%ebp)
41ae2a:	0f 84 8f cd fe ff    	je     0x407bbf
41ae30:	56                   	push   %esi
41ae31:	6a 6f                	push   $0x6f
41ae33:	e9 80 cd fe ff       	jmp    0x407bb8
41ae38:	33 f6                	xor    %esi,%esi
41ae3a:	80 bd c7 fb ff ff 00 	cmpb   $0x0,-0x439(%ebp)
41ae41:	0f 84 78 cd fe ff    	je     0x407bbf
41ae47:	56                   	push   %esi
41ae48:	6a 02                	push   $0x2
41ae4a:	e9 69 cd fe ff       	jmp    0x407bb8
41ae4f:	e8 ce ea 00 00       	call   0x429922
41ae54:	6a 01                	push   $0x1
41ae56:	68 30 0a 44 00       	push   $0x440a30
41ae5b:	ff 15 30 a4 44 00    	call   *0x44a430
41ae61:	33 f6                	xor    %esi,%esi
41ae63:	80 bd c7 fb ff ff 00 	cmpb   $0x0,-0x439(%ebp)
41ae6a:	0f 84 4f cd fe ff    	je     0x407bbf
41ae70:	56                   	push   %esi
41ae71:	68 74 23 00 00       	push   $0x2374
41ae76:	e9 3d cd fe ff       	jmp    0x407bb8
41ae7b:	8d 8d e0 fd ff ff    	lea    -0x220(%ebp),%ecx
41ae81:	e9 76 cf fe ff       	jmp    0x407dfc
41ae86:	8d 85 e0 fd ff ff    	lea    -0x220(%ebp),%eax
41ae8c:	e9 81 cf fe ff       	jmp    0x407e12
41ae91:	8b 95 dc fd ff ff    	mov    -0x224(%ebp),%edx
41ae97:	8b ce                	mov    %esi,%ecx
41ae99:	50                   	push   %eax
41ae9a:	e8 01 45 ff ff       	call   0x40f3a0
41ae9f:	6a 5c                	push   $0x5c
41aea1:	5a                   	pop    %edx
41aea2:	6a 3a                	push   $0x3a
41aea4:	59                   	pop    %ecx
41aea5:	e9 8c cf fe ff       	jmp    0x407e36
41aeaa:	66 39 56 02          	cmp    %dx,0x2(%esi)
41aeae:	0f 85 93 cf fe ff    	jne    0x407e47
41aeb4:	8d 4e 04             	lea    0x4(%esi),%ecx
41aeb7:	e8 73 f7 fe ff       	call   0x40a62f
41aebc:	85 c0                	test   %eax,%eax
41aebe:	74 4b                	je     0x41af0b
41aec0:	6a 5c                	push   $0x5c
41aec2:	8d 48 02             	lea    0x2(%eax),%ecx
41aec5:	5a                   	pop    %edx
41aec6:	e8 64 f7 fe ff       	call   0x40a62f
41aecb:	8b f8                	mov    %eax,%edi
41aecd:	85 ff                	test   %edi,%edi
41aecf:	74 08                	je     0x41aed9
41aed1:	0f b7 1f             	movzwl (%edi),%ebx
41aed4:	33 c0                	xor    %eax,%eax
41aed6:	66 89 07             	mov    %ax,(%edi)
41aed9:	8b ce                	mov    %esi,%ecx
41aedb:	8d 51 02             	lea    0x2(%ecx),%edx
41aede:	66 8b 01             	mov    (%ecx),%ax
41aee1:	83 c1 02             	add    $0x2,%ecx
41aee4:	66 3b 85 d8 fd ff ff 	cmp    -0x228(%ebp),%ax
41aeeb:	75 f1                	jne    0x41aede
41aeed:	2b ca                	sub    %edx,%ecx
41aeef:	d1 f9                	sar    $1,%ecx
41aef1:	81 f9 e7 7f 00 00    	cmp    $0x7fe7,%ecx
41aef7:	76 1b                	jbe    0x41af14
41aef9:	66 85 db             	test   %bx,%bx
41aefc:	74 03                	je     0x41af01
41aefe:	66 89 1f             	mov    %bx,(%edi)
41af01:	c7 05 a8 67 43 00 ce 	movl   $0xce,0x4367a8
41af08:	00 00 00
41af0b:	33 c0                	xor    %eax,%eax
41af0d:	8a d8                	mov    %al,%bl
41af0f:	e9 54 cf fe ff       	jmp    0x407e68
41af14:	8b 55 0c             	mov    0xc(%ebp),%edx
41af17:	8b 8d d4 fd ff ff    	mov    -0x22c(%ebp),%ecx
41af1d:	56                   	push   %esi
41af1e:	e8 7d 44 ff ff       	call   0x40f3a0
41af23:	66 85 db             	test   %bx,%bx
41af26:	0f 84 39 cf fe ff    	je     0x407e65
41af2c:	66 89 1f             	mov    %bx,(%edi)
41af2f:	e9 31 cf fe ff       	jmp    0x407e65
41af34:	cc                   	int3
41af35:	cc                   	int3
41af36:	66 3b d3             	cmp    %bx,%dx
41af39:	0f 85 ab cf fe ff    	jne    0x407eea
41af3f:	83 c1 02             	add    $0x2,%ecx
41af42:	e9 a3 cf fe ff       	jmp    0x407eea
41af47:	8b c6                	mov    %esi,%eax
41af49:	c1 e0 02             	shl    $0x2,%eax
41af4c:	50                   	push   %eax
41af4d:	6a 00                	push   $0x0
41af4f:	ff 15 34 a1 44 00    	call   *0x44a134
41af55:	50                   	push   %eax
41af56:	ff 15 28 a1 44 00    	call   *0x44a128
41af5c:	8b d8                	mov    %eax,%ebx
41af5e:	85 db                	test   %ebx,%ebx
41af60:	0f 84 ba cf fe ff    	je     0x407f20
41af66:	33 c9                	xor    %ecx,%ecx
41af68:	85 f6                	test   %esi,%esi
41af6a:	74 24                	je     0x41af90
41af6c:	8b 55 08             	mov    0x8(%ebp),%edx
41af6f:	8b 7d 98             	mov    -0x68(%ebp),%edi
41af72:	3b ca                	cmp    %edx,%ecx
41af74:	73 0a                	jae    0x41af80
41af76:	83 07 04             	addl   $0x4,(%edi)
41af79:	8b 07                	mov    (%edi),%eax
41af7b:	8b 40 fc             	mov    -0x4(%eax),%eax
41af7e:	eb 05                	jmp    0x41af85
41af80:	b8 4c 23 40 00       	mov    $0x40234c,%eax
41af85:	89 04 8b             	mov    %eax,(%ebx,%ecx,4)
41af88:	41                   	inc    %ecx
41af89:	3b ce                	cmp    %esi,%ecx
41af8b:	72 e5                	jb     0x41af72
41af8d:	8b 7d 94             	mov    -0x6c(%ebp),%edi
41af90:	53                   	push   %ebx
41af91:	68 00 20 00 00       	push   $0x2000
41af96:	68 f0 0a 44 00       	push   $0x440af0
41af9b:	6a 00                	push   $0x0
41af9d:	57                   	push   %edi
41af9e:	6a 00                	push   $0x0
41afa0:	68 00 38 00 00       	push   $0x3800
41afa5:	ff 15 88 a1 44 00    	call   *0x44a188
41afab:	53                   	push   %ebx
41afac:	6a 00                	push   $0x0
41afae:	8b f0                	mov    %eax,%esi
41afb0:	ff 15 34 a1 44 00    	call   *0x44a134
41afb6:	50                   	push   %eax
41afb7:	ff 15 3c a1 44 00    	call   *0x44a13c
41afbd:	e9 5c cf fe ff       	jmp    0x407f1e
41afc2:	6a 10                	push   $0x10
41afc4:	8d 45 dc             	lea    -0x24(%ebp),%eax
41afc7:	50                   	push   %eax
41afc8:	57                   	push   %edi
41afc9:	ff 15 90 a3 44 00    	call   *0x44a390
41afcf:	83 c4 0c             	add    $0xc,%esp
41afd2:	8d 45 9c             	lea    -0x64(%ebp),%eax
41afd5:	6a 20                	push   $0x20
41afd7:	50                   	push   %eax
41afd8:	6a ff                	push   $0xffffffff
41afda:	8d 45 dc             	lea    -0x24(%ebp),%eax
41afdd:	50                   	push   %eax
41afde:	ff 15 90 a1 44 00    	call   *0x44a190
41afe4:	8b c8                	mov    %eax,%ecx
41afe6:	e8 5d 32 ff ff       	call   0x40e248
41afeb:	f7 d8                	neg    %eax
41afed:	1b c0                	sbb    %eax,%eax
41afef:	f7 d8                	neg    %eax
41aff1:	50                   	push   %eax
41aff2:	56                   	push   %esi
41aff3:	ff 15 68 a2 44 00    	call   *0x44a268
41aff9:	8d 45 9c             	lea    -0x64(%ebp),%eax
41affc:	89 45 8c             	mov    %eax,-0x74(%ebp)
41afff:	b8 70 3e 40 00       	mov    $0x403e70,%eax
41b004:	81 ff 28 23 00 00    	cmp    $0x2328,%edi
41b00a:	73 05                	jae    0x41b011
41b00c:	b8 88 3e 40 00       	mov    $0x403e88,%eax
41b011:	89 45 90             	mov    %eax,-0x70(%ebp)
41b014:	8d 45 8c             	lea    -0x74(%ebp),%eax
41b017:	50                   	push   %eax
41b018:	68 00 20 00 00       	push   $0x2000
41b01d:	68 f0 0a 44 00       	push   $0x440af0
41b022:	56                   	push   %esi
41b023:	68 3d 01 00 00       	push   $0x13d
41b028:	56                   	push   %esi
41b029:	68 00 30 00 00       	push   $0x3000
41b02e:	e9 e3 ce fe ff       	jmp    0x407f16
41b033:	8b 45 e0             	mov    -0x20(%ebp),%eax
41b036:	89 5d e0             	mov    %ebx,-0x20(%ebp)
41b039:	85 c0                	test   %eax,%eax
41b03b:	74 24                	je     0x41b061
41b03d:	50                   	push   %eax
41b03e:	eb 1a                	jmp    0x41b05a
41b040:	ff 15 80 a0 44 00    	call   *0x44a080
41b046:	83 f8 05             	cmp    $0x5,%eax
41b049:	0f 85 b2 cf fe ff    	jne    0x408001
41b04f:	8b 4d e0             	mov    -0x20(%ebp),%ecx
41b052:	89 5d e0             	mov    %ebx,-0x20(%ebp)
41b055:	85 c9                	test   %ecx,%ecx
41b057:	74 08                	je     0x41b061
41b059:	51                   	push   %ecx
41b05a:	ff 15 e0 a3 44 00    	call   *0x44a3e0
41b060:	59                   	pop    %ecx
41b061:	33 c0                	xor    %eax,%eax
41b063:	40                   	inc    %eax
41b064:	e9 ac cf fe ff       	jmp    0x408015
41b069:	8d 8d e0 fd ff ff    	lea    -0x220(%ebp),%ecx
41b06f:	e9 77 d0 fe ff       	jmp    0x4080eb
41b074:	8d 8d e0 fd ff ff    	lea    -0x220(%ebp),%ecx
41b07a:	e9 88 d0 fe ff       	jmp    0x408107
41b07f:	8d 85 e0 fd ff ff    	lea    -0x220(%ebp),%eax
41b085:	e9 98 d0 fe ff       	jmp    0x408122
41b08a:	83 c7 02             	add    $0x2,%edi
41b08d:	e9 ec d0 fe ff       	jmp    0x40817e
41b092:	e8 8b e8 00 00       	call   0x429922
41b097:	6a 01                	push   $0x1
41b099:	68 30 0a 44 00       	push   $0x440a30
41b09e:	ff 15 30 a4 44 00    	call   *0x44a430
41b0a4:	cc                   	int3
41b0a5:	ff 35 a4 25 43 00    	push   0x4325a4
41b0ab:	ff 15 9c a2 44 00    	call   *0x44a29c
41b0b1:	ff 35 a4 25 43 00    	push   0x4325a4
41b0b7:	c7 05 9c 25 43 00 01 	movl   $0x1,0x43259c
41b0be:	00 00 00
41b0c1:	ff 15 a8 a2 44 00    	call   *0x44a2a8
41b0c7:	68 d0 3c 40 00       	push   $0x403cd0
41b0cc:	6a 02                	push   $0x2
41b0ce:	e8 a8 c1 ff ff       	call   0x41727b
41b0d3:	59                   	pop    %ecx
41b0d4:	50                   	push   %eax
41b0d5:	ff 15 00 a4 44 00    	call   *0x44a400
41b0db:	6a 02                	push   $0x2
41b0dd:	e8 99 c1 ff ff       	call   0x41727b
41b0e2:	50                   	push   %eax
41b0e3:	ff 15 c8 a3 44 00    	call   *0x44a3c8
41b0e9:	83 c4 10             	add    $0x10,%esp
41b0ec:	e9 30 d1 fe ff       	jmp    0x408221
41b0f1:	83 bd f8 ef ff ff 04 	cmpl   $0x4,-0x1008(%ebp)
41b0f8:	75 13                	jne    0x41b10d
41b0fa:	83 bd fc ef ff ff 00 	cmpl   $0x0,-0x1004(%ebp)
41b101:	0f 95 05 51 90 44 00 	setne  0x449051
41b108:	e9 14 d2 fe ff       	jmp    0x408321
41b10d:	83 bd f8 ef ff ff 01 	cmpl   $0x1,-0x1008(%ebp)
41b114:	0f 85 07 d2 fe ff    	jne    0x408321
41b11a:	8d 85 fc ef ff ff    	lea    -0x1004(%ebp),%eax
41b120:	50                   	push   %eax
41b121:	ff 15 c4 a3 44 00    	call   *0x44a3c4
41b127:	48                   	dec    %eax
41b128:	f7 d8                	neg    %eax
41b12a:	59                   	pop    %ecx
41b12b:	1a c0                	sbb    %al,%al
41b12d:	fe c0                	inc    %al
41b12f:	a2 51 90 44 00       	mov    %al,0x449051
41b134:	e9 e8 d1 fe ff       	jmp    0x408321
41b139:	83 bd f8 ef ff ff 01 	cmpl   $0x1,-0x1008(%ebp)
41b140:	0f 85 2b d2 fe ff    	jne    0x408371
41b146:	8d 85 fc ef ff ff    	lea    -0x1004(%ebp),%eax
41b14c:	50                   	push   %eax
41b14d:	ff 15 c4 a3 44 00    	call   *0x44a3c4
41b153:	48                   	dec    %eax
41b154:	f7 d8                	neg    %eax
41b156:	59                   	pop    %ecx
41b157:	1a c0                	sbb    %al,%al
41b159:	fe c0                	inc    %al
41b15b:	a2 55 67 43 00       	mov    %al,0x436755
41b160:	e9 0c d2 fe ff       	jmp    0x408371
41b165:	83 bd f8 ef ff ff 04 	cmpl   $0x4,-0x1008(%ebp)
41b16c:	75 13                	jne    0x41b181
41b16e:	83 bd fc ef ff ff 00 	cmpl   $0x0,-0x1004(%ebp)
41b175:	0f 95 05 54 67 43 00 	setne  0x436754
41b17c:	e9 2a d2 fe ff       	jmp    0x4083ab
41b181:	83 bd f8 ef ff ff 01 	cmpl   $0x1,-0x1008(%ebp)
41b188:	0f 85 1d d2 fe ff    	jne    0x4083ab
41b18e:	8d 85 fc ef ff ff    	lea    -0x1004(%ebp),%eax
41b194:	50                   	push   %eax
41b195:	ff 15 c4 a3 44 00    	call   *0x44a3c4
41b19b:	48                   	dec    %eax
41b19c:	f7 d8                	neg    %eax
41b19e:	59                   	pop    %ecx
41b19f:	1a c0                	sbb    %al,%al
41b1a1:	fe c0                	inc    %al
41b1a3:	a2 54 67 43 00       	mov    %al,0x436754
41b1a8:	e9 fe d1 fe ff       	jmp    0x4083ab
41b1ad:	83 bd f8 ef ff ff 01 	cmpl   $0x1,-0x1008(%ebp)
41b1b4:	0f 85 41 d2 fe ff    	jne    0x4083fb
41b1ba:	6a 00                	push   $0x0
41b1bc:	8d 85 fc ef ff ff    	lea    -0x1004(%ebp),%eax
41b1c2:	6a 00                	push   $0x0
41b1c4:	50                   	push   %eax
41b1c5:	ff 15 38 a4 44 00    	call   *0x44a438
41b1cb:	83 c4 0c             	add    $0xc,%esp
41b1ce:	e9 22 d2 fe ff       	jmp    0x4083f5
41b1d3:	83 bd f8 ef ff ff 01 	cmpl   $0x1,-0x1008(%ebp)
41b1da:	75 19                	jne    0x41b1f5
41b1dc:	6a 00                	push   $0x0
41b1de:	8d 85 fc ef ff ff    	lea    -0x1004(%ebp),%eax
41b1e4:	6a 00                	push   $0x0
41b1e6:	50                   	push   %eax
41b1e7:	ff 15 38 a4 44 00    	call   *0x44a438
41b1ed:	83 c4 0c             	add    $0xc,%esp
41b1f0:	e9 50 d2 fe ff       	jmp    0x408445
41b1f5:	66 a1 d0 e0 42 00    	mov    0x42e0d0,%ax
41b1fb:	e9 4b d2 fe ff       	jmp    0x40844b
41b200:	6a 20                	push   $0x20
41b202:	59                   	pop    %ecx
41b203:	66 89 0d d0 e0 42 00 	mov    %cx,0x42e0d0
41b20a:	e9 5d d2 fe ff       	jmp    0x40846c
41b20f:	83 bd f8 ef ff ff 01 	cmpl   $0x1,-0x1008(%ebp)
41b216:	75 19                	jne    0x41b231
41b218:	6a 00                	push   $0x0
41b21a:	8d 85 fc ef ff ff    	lea    -0x1004(%ebp),%eax
41b220:	6a 00                	push   $0x0
41b222:	50                   	push   %eax
41b223:	ff 15 38 a4 44 00    	call   *0x44a438
41b229:	83 c4 0c             	add    $0xc,%esp
41b22c:	e9 89 d2 fe ff       	jmp    0x4084ba
41b231:	66 a1 cc e0 42 00    	mov    0x42e0cc,%ax
41b237:	e9 84 d2 fe ff       	jmp    0x4084c0
41b23c:	6a 20                	push   $0x20
41b23e:	5a                   	pop    %edx
41b23f:	8b c2                	mov    %edx,%eax
41b241:	66 a3 cc e0 42 00    	mov    %ax,0x42e0cc
41b247:	e9 95 d2 fe ff       	jmp    0x4084e1
41b24c:	66 a1 cc e0 42 00    	mov    0x42e0cc,%ax
41b252:	6a 20                	push   $0x20
41b254:	5a                   	pop    %edx
41b255:	e9 87 d2 fe ff       	jmp    0x4084e1
41b25a:	66 3b c2             	cmp    %dx,%ax
41b25d:	0f 83 91 d2 fe ff    	jae    0x4084f4
41b263:	66 a3 d0 e0 42 00    	mov    %ax,0x42e0d0
41b269:	e9 8c d2 fe ff       	jmp    0x4084fa
41b26e:	66 3b ca             	cmp    %dx,%cx
41b271:	0f 83 83 d2 fe ff    	jae    0x4084fa
41b277:	66 89 0d cc e0 42 00 	mov    %cx,0x42e0cc
41b27e:	e9 77 d2 fe ff       	jmp    0x4084fa
41b283:	83 bd f8 ef ff ff 02 	cmpl   $0x2,-0x1008(%ebp)
41b28a:	75 4d                	jne    0x41b2d9
41b28c:	8b 8d f4 ef ff ff    	mov    -0x100c(%ebp),%ecx
41b292:	8d b5 00 f0 ff ff    	lea    -0x1000(%ebp),%esi
41b298:	d1 e9                	shr    $1,%ecx
41b29a:	b8 fe 07 00 00       	mov    $0x7fe,%eax
41b29f:	2b c1                	sub    %ecx,%eax