419df6:	83 c4 0c             	add    $0xc,%esp
419df9:	e9 ce c1 fe ff       	jmp    0x405fcc
419dfe:	33 c0                	xor    %eax,%eax
419e00:	83 f9 03             	cmp    $0x3,%ecx
419e03:	0f 95 c0             	setne  %al
419e06:	48                   	dec    %eax
419e07:	25 2c 23 00 00       	and    $0x232c,%eax
419e0c:	83 c0 02             	add    $0x2,%eax
419e0f:	33 c9                	xor    %ecx,%ecx
419e11:	51                   	push   %ecx
419e12:	50                   	push   %eax
419e13:	eb 08                	jmp    0x419e1d
419e15:	33 c0                	xor    %eax,%eax
419e17:	50                   	push   %eax
419e18:	68 2e 23 00 00       	push   $0x232e
419e1d:	e8 c2 da fe ff       	call   0x4078e4
419e22:	59                   	pop    %ecx
419e23:	33 c0                	xor    %eax,%eax
419e25:	59                   	pop    %ecx
419e26:	40                   	inc    %eax
419e27:	eb 17                	jmp    0x419e40
419e29:	33 c0                	xor    %eax,%eax
419e2b:	50                   	push   %eax
419e2c:	6a 08                	push   $0x8
419e2e:	e8 b1 da fe ff       	call   0x4078e4
419e33:	59                   	pop    %ecx
419e34:	59                   	pop    %ecx
419e35:	33 c0                	xor    %eax,%eax
419e37:	40                   	inc    %eax
419e38:	89 44 24 14          	mov    %eax,0x14(%esp)
419e3c:	8b 44 24 14          	mov    0x14(%esp),%eax
419e40:	8b f0                	mov    %eax,%esi
419e42:	33 c0                	xor    %eax,%eax
419e44:	e9 9b c1 fe ff       	jmp    0x405fe4
419e49:	33 c9                	xor    %ecx,%ecx
419e4b:	8b 45 d0             	mov    -0x30(%ebp),%eax
419e4e:	66 89 08             	mov    %cx,(%eax)
419e51:	83 e8 02             	sub    $0x2,%eax
419e54:	89 45 d0             	mov    %eax,-0x30(%ebp)
419e57:	e9 80 c3 fe ff       	jmp    0x4061dc
419e5c:	e8 0d ec 00 00       	call   0x428a6e
419e61:	e9 36 c4 fe ff       	jmp    0x40629c
419e66:	66 39 56 02          	cmp    %dx,0x2(%esi)
419e6a:	0f 85 de c3 fe ff    	jne    0x40624e
419e70:	8b ce                	mov    %esi,%ecx
419e72:	8d 41 02             	lea    0x2(%ecx),%eax
419e75:	89 45 d0             	mov    %eax,-0x30(%ebp)
419e78:	66 8b 01             	mov    (%ecx),%ax
419e7b:	83 c1 02             	add    $0x2,%ecx
419e7e:	66 3b c7             	cmp    %di,%ax
419e81:	75 f5                	jne    0x419e78
419e83:	2b 4d d0             	sub    -0x30(%ebp),%ecx
419e86:	d1 f9                	sar    $1,%ecx
419e88:	8d 41 01             	lea    0x1(%ecx),%eax
419e8b:	89 45 c4             	mov    %eax,-0x3c(%ebp)
419e8e:	52                   	push   %edx
419e8f:	8d 46 04             	lea    0x4(%esi),%eax
419e92:	50                   	push   %eax
419e93:	ff 15 b0 a3 44 00    	call   *0x44a3b0
419e99:	59                   	pop    %ecx
419e9a:	59                   	pop    %ecx
419e9b:	89 45 d0             	mov    %eax,-0x30(%ebp)
419e9e:	85 c0                	test   %eax,%eax
419ea0:	74 4d                	je     0x419eef
419ea2:	6a 5c                	push   $0x5c
419ea4:	59                   	pop    %ecx
419ea5:	51                   	push   %ecx
419ea6:	83 c0 02             	add    $0x2,%eax
419ea9:	50                   	push   %eax
419eaa:	ff 15 b0 a3 44 00    	call   *0x44a3b0
419eb0:	59                   	pop    %ecx
419eb1:	59                   	pop    %ecx
419eb2:	89 45 d0             	mov    %eax,-0x30(%ebp)
419eb5:	85 c0                	test   %eax,%eax
419eb7:	74 36                	je     0x419eef
419eb9:	56                   	push   %esi
419eba:	ff 15 98 a0 44 00    	call   *0x44a098
419ec0:	83 f8 ff             	cmp    $0xffffffff,%eax
419ec3:	75 1c                	jne    0x419ee1
419ec5:	ff 15 80 a0 44 00    	call   *0x44a080
419ecb:	a3 dc 65 43 00       	mov    %eax,0x4365dc
419ed0:	83 f8 02             	cmp    $0x2,%eax
419ed3:	75 1a                	jne    0x419eef
419ed5:	c7 05 dc 65 43 00 03 	movl   $0x3,0x4365dc
419edc:	00 00 00
419edf:	eb 0e                	jmp    0x419eef
419ee1:	33 c9                	xor    %ecx,%ecx
419ee3:	8b 45 d0             	mov    -0x30(%ebp),%eax
419ee6:	66 89 08             	mov    %cx,(%eax)
419ee9:	83 c0 02             	add    $0x2,%eax
419eec:	89 45 d0             	mov    %eax,-0x30(%ebp)
419eef:	6a 5a                	push   $0x5a
419ef1:	58                   	pop    %eax
419ef2:	66 89 45 d4          	mov    %ax,-0x2c(%ebp)
419ef6:	6a 3a                	push   $0x3a
419ef8:	59                   	pop    %ecx
419ef9:	66 89 4d d6          	mov    %cx,-0x2a(%ebp)
419efd:	33 c0                	xor    %eax,%eax
419eff:	66 89 45 d8          	mov    %ax,-0x28(%ebp)
419f03:	c7 45 a4 01 00 00 00 	movl   $0x1,-0x5c(%ebp)
419f0a:	8d 45 d4             	lea    -0x2c(%ebp),%eax
419f0d:	89 45 b0             	mov    %eax,-0x50(%ebp)
419f10:	89 75 b4             	mov    %esi,-0x4c(%ebp)
419f13:	89 7d bc             	mov    %edi,-0x44(%ebp)
419f16:	83 3d dc 65 43 00 00 	cmpl   $0x0,0x4365dc
419f1d:	0f 85 e3 00 00 00    	jne    0x41a006
419f23:	66 83 7d d4 41       	cmpw   $0x41,-0x2c(%ebp)
419f28:	0f 84 20 c3 fe ff    	je     0x40624e
419f2e:	89 7d fc             	mov    %edi,-0x4(%ebp)
419f31:	e8 b9 d3 ff ff       	call   0x4172ef
419f36:	84 c0                	test   %al,%al
419f38:	74 14                	je     0x419f4e
419f3a:	57                   	push   %edi
419f3b:	57                   	push   %edi
419f3c:	57                   	push   %edi
419f3d:	8d 45 a0             	lea    -0x60(%ebp),%eax
419f40:	50                   	push   %eax
419f41:	ff 15 30 d0 44 00    	call   *0x44d030
419f47:	a3 dc 65 43 00       	mov    %eax,0x4365dc
419f4c:	eb 0a                	jmp    0x419f58
419f4e:	c7 05 dc 65 43 00 78 	movl   $0x78,0x4365dc
419f55:	00 00 00
419f58:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
419f5f:	eb 28                	jmp    0x419f89
419f61:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
419f64:	8b 45 ec             	mov    -0x14(%ebp),%eax
419f67:	8b 00                	mov    (%eax),%eax
419f69:	8b 00                	mov    (%eax),%eax
419f6b:	89 45 c0             	mov    %eax,-0x40(%ebp)
419f6e:	a3 dc 65 43 00       	mov    %eax,0x4365dc
419f73:	33 c0                	xor    %eax,%eax
419f75:	40                   	inc    %eax
419f76:	c3                   	ret
419f77:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
419f7a:	8b 65 e8             	mov    -0x18(%ebp),%esp
419f7d:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
419f84:	33 ff                	xor    %edi,%edi
419f86:	8b 75 cc             	mov    -0x34(%ebp),%esi
419f89:	a1 dc 65 43 00       	mov    0x4365dc,%eax
419f8e:	85 c0                	test   %eax,%eax
419f90:	74 25                	je     0x419fb7
419f92:	83 f8 55             	cmp    $0x55,%eax
419f95:	74 0b                	je     0x419fa2
419f97:	3d b2 04 00 00       	cmp    $0x4b2,%eax
419f9c:	0f 85 74 ff ff ff    	jne    0x419f16
419fa2:	0f b6 45 d4          	movzbl -0x2c(%ebp),%eax
419fa6:	66 48                	dec    %ax
419fa8:	66 89 45 d4          	mov    %ax,-0x2c(%ebp)
419fac:	89 3d dc 65 43 00    	mov    %edi,0x4365dc
419fb2:	e9 5f ff ff ff       	jmp    0x419f16
419fb7:	66 8b 55 d4          	mov    -0x2c(%ebp),%dx
419fbb:	8b 0d 9c 67 43 00    	mov    0x43679c,%ecx
419fc1:	a1 98 67 43 00       	mov    0x436798,%eax
419fc6:	66 89 54 c1 fc       	mov    %dx,-0x4(%ecx,%eax,8)
419fcb:	66 8b 45 d4          	mov    -0x2c(%ebp),%ax
419fcf:	66 89 06             	mov    %ax,(%esi)
419fd2:	66 8b 45 d6          	mov    -0x2a(%ebp),%ax
419fd6:	66 89 46 02          	mov    %ax,0x2(%esi)
419fda:	6a 5c                	push   $0x5c
419fdc:	59                   	pop    %ecx
419fdd:	66 89 4e 04          	mov    %cx,0x4(%esi)
419fe1:	8b 4d c8             	mov    -0x38(%ebp),%ecx
419fe4:	83 c1 06             	add    $0x6,%ecx
419fe7:	8b 45 d0             	mov    -0x30(%ebp),%eax
419fea:	85 c0                	test   %eax,%eax
419fec:	74 0e                	je     0x419ffc
419fee:	50                   	push   %eax
419fef:	8b 55 c4             	mov    -0x3c(%ebp),%edx
419ff2:	e8 a9 53 ff ff       	call   0x40f3a0
419ff7:	e9 52 c2 fe ff       	jmp    0x40624e
419ffc:	33 c0                	xor    %eax,%eax
419ffe:	66 89 01             	mov    %ax,(%ecx)
41a001:	e9 48 c2 fe ff       	jmp    0x40624e
41a006:	e8 9b 7e ff ff       	call   0x411ea6
41a00b:	50                   	push   %eax
41a00c:	57                   	push   %edi
41a00d:	ff 15 34 a1 44 00    	call   *0x44a134
41a013:	50                   	push   %eax
41a014:	ff 15 3c a1 44 00    	call   *0x44a13c
41a01a:	57                   	push   %edi
41a01b:	ff 35 dc 65 43 00    	push   0x4365dc
41a021:	eb 06                	jmp    0x41a029
41a023:	57                   	push   %edi
41a024:	68 28 27 00 40       	push   $0x40002728
41a029:	e8 b6 d8 fe ff       	call   0x4078e4
41a02e:	59                   	pop    %ecx
41a02f:	c7 05 dc 65 43 00 01 	movl   $0x1,0x4365dc
41a036:	00 00 00
41a039:	59                   	pop    %ecx
41a03a:	e9 5d c2 fe ff       	jmp    0x40629c
41a03f:	b9 f0 8b 44 00       	mov    $0x448bf0,%ecx
41a044:	e9 93 c2 fe ff       	jmp    0x4062dc
41a049:	56                   	push   %esi
41a04a:	6a 00                	push   $0x0
41a04c:	ff 15 34 a1 44 00    	call   *0x44a134
41a052:	50                   	push   %eax
41a053:	ff 15 3c a1 44 00    	call   *0x44a13c
41a059:	e9 f7 c2 fe ff       	jmp    0x406355
41a05e:	8d 51 e0             	lea    -0x20(%ecx),%edx
41a061:	c1 ea 05             	shr    $0x5,%edx
41a064:	42                   	inc    %edx
41a065:	6b c2 e0             	imul   $0xffffffe0,%edx,%eax
41a068:	03 c8                	add    %eax,%ecx
41a06a:	e9 e7 c3 fe ff       	jmp    0x406456
41a06f:	83 f8 02             	cmp    $0x2,%eax
41a072:	74 09                	je     0x41a07d
41a074:	83 f8 03             	cmp    $0x3,%eax
41a077:	0f 85 8a c4 fe ff    	jne    0x406507
41a07d:	8b 75 fc             	mov    -0x4(%ebp),%esi
41a080:	83 e6 01             	and    $0x1,%esi
41a083:	0f 84 7e c4 fe ff    	je     0x406507
41a089:	e9 5c c4 fe ff       	jmp    0x4064ea
41a08e:	6a 30                	push   $0x30
41a090:	33 f6                	xor    %esi,%esi
41a092:	8d 45 b8             	lea    -0x48(%ebp),%eax
41a095:	56                   	push   %esi
41a096:	50                   	push   %eax
41a097:	e8 21 df ff ff       	call   0x417fbd
41a09c:	8b 4b 04             	mov    0x4(%ebx),%ecx
41a09f:	83 c4 0c             	add    $0xc,%esp
41a0a2:	e8 a4 64 ff ff       	call   0x41054b
41a0a7:	6a 10                	push   $0x10
41a0a9:	59                   	pop    %ecx
41a0aa:	89 45 bc             	mov    %eax,-0x44(%ebp)
41a0ad:	e8 1e 3c ff ff       	call   0x40dcd0
41a0b2:	8b c8                	mov    %eax,%ecx
41a0b4:	85 c9                	test   %ecx,%ecx
41a0b6:	0f 84 93 02 00 00    	je     0x41a34f
41a0bc:	8a 43 10             	mov    0x10(%ebx),%al
41a0bf:	88 45 c8             	mov    %al,-0x38(%ebp)
41a0c2:	84 c0                	test   %al,%al
41a0c4:	89 4d c4             	mov    %ecx,-0x3c(%ebp)
41a0c7:	b8 68 26 40 00       	mov    $0x402668,%eax
41a0cc:	c7 45 c0 01 00 00 00 	movl   $0x1,-0x40(%ebp)
41a0d3:	89 75 b8             	mov    %esi,-0x48(%ebp)
41a0d6:	75 05                	jne    0x41a0dd
41a0d8:	b8 70 26 40 00       	mov    $0x402670,%eax
41a0dd:	89 01                	mov    %eax,(%ecx)
41a0df:	8b 4d bc             	mov    -0x44(%ebp),%ecx
41a0e2:	e8 64 64 ff ff       	call   0x41054b
41a0e7:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
41a0ea:	8b 55 f0             	mov    -0x10(%ebp),%edx
41a0ed:	56                   	push   %esi
41a0ee:	56                   	push   %esi
41a0ef:	56                   	push   %esi
41a0f0:	51                   	push   %ecx
41a0f1:	56                   	push   %esi
41a0f2:	89 41 04             	mov    %eax,0x4(%ecx)
41a0f5:	8d 4d b8             	lea    -0x48(%ebp),%ecx
41a0f8:	8b 45 c4             	mov    -0x3c(%ebp),%eax
41a0fb:	57                   	push   %edi
41a0fc:	6a 10                	push   $0x10
41a0fe:	6a 10                	push   $0x10
41a100:	89 70 0c             	mov    %esi,0xc(%eax)
41a103:	e8 0b c4 fe ff       	call   0x406513
41a108:	8b f0                	mov    %eax,%esi
41a10a:	33 c0                	xor    %eax,%eax
41a10c:	85 f6                	test   %esi,%esi
41a10e:	74 05                	je     0x41a115
41a110:	89 45 cc             	mov    %eax,-0x34(%ebp)
41a113:	8b f0                	mov    %eax,%esi
41a115:	83 3d 9c 25 43 00 00 	cmpl   $0x0,0x43259c
41a11c:	0f 85 ec c3 fe ff    	jne    0x40650e
41a122:	83 7d cc 00          	cmpl   $0x0,-0x34(%ebp)
41a126:	89 45 f8             	mov    %eax,-0x8(%ebp)
41a129:	0f 86 c6 01 00 00    	jbe    0x41a2f5
41a12f:	8b 45 d4             	mov    -0x2c(%ebp),%eax
41a132:	b9 34 24 40 00       	mov    $0x402434,%ecx
41a137:	8b 7d f8             	mov    -0x8(%ebp),%edi
41a13a:	8b 3c b8             	mov    (%eax,%edi,4),%edi
41a13d:	8d 47 30             	lea    0x30(%edi),%eax
41a140:	89 45 ec             	mov    %eax,-0x14(%ebp)
41a143:	66 8b 10             	mov    (%eax),%dx
41a146:	66 3b 11             	cmp    (%ecx),%dx
41a149:	75 1e                	jne    0x41a169
41a14b:	66 85 d2             	test   %dx,%dx
41a14e:	74 15                	je     0x41a165
41a150:	66 8b 50 02          	mov    0x2(%eax),%dx
41a154:	66 3b 51 02          	cmp    0x2(%ecx),%dx
41a158:	75 0f                	jne    0x41a169
41a15a:	83 c0 04             	add    $0x4,%eax
41a15d:	83 c1 04             	add    $0x4,%ecx
41a160:	66 85 d2             	test   %dx,%dx
41a163:	75 de                	jne    0x41a143
41a165:	33 c0                	xor    %eax,%eax
41a167:	eb 05                	jmp    0x41a16e
41a169:	1b c0                	sbb    %eax,%eax
41a16b:	83 c8 01             	or     $0x1,%eax
41a16e:	85 c0                	test   %eax,%eax
41a170:	0f 84 6f 01 00 00    	je     0x41a2e5
41a176:	b9 10 25 40 00       	mov    $0x402510,%ecx
41a17b:	8d 47 30             	lea    0x30(%edi),%eax
41a17e:	66 8b 10             	mov    (%eax),%dx
41a181:	66 3b 11             	cmp    (%ecx),%dx
41a184:	75 1e                	jne    0x41a1a4
41a186:	66 85 d2             	test   %dx,%dx
41a189:	74 15                	je     0x41a1a0
41a18b:	66 8b 50 02          	mov    0x2(%eax),%dx
41a18f:	66 3b 51 02          	cmp    0x2(%ecx),%dx
41a193:	75 0f                	jne    0x41a1a4
41a195:	83 c0 04             	add    $0x4,%eax
41a198:	83 c1 04             	add    $0x4,%ecx
41a19b:	66 85 d2             	test   %dx,%dx
41a19e:	75 de                	jne    0x41a17e
41a1a0:	33 c0                	xor    %eax,%eax
41a1a2:	eb 05                	jmp    0x41a1a9
41a1a4:	1b c0                	sbb    %eax,%eax
41a1a6:	83 c8 01             	or     $0x1,%eax
41a1a9:	85 c0                	test   %eax,%eax
41a1ab:	0f 84 34 01 00 00    	je     0x41a2e5
41a1b1:	f6 45 fc 02          	testb  $0x2,-0x4(%ebp)
41a1b5:	75 23                	jne    0x41a1da
41a1b7:	f7 47 04 00 04 00 00 	testl  $0x400,0x4(%edi)
41a1be:	74 1a                	je     0x41a1da
41a1c0:	f7 47 28 00 00 00 20 	testl  $0x20000000,0x28(%edi)
41a1c7:	0f 85 18 01 00 00    	jne    0x41a2e5
41a1cd:	81 7f 28 0a 00 00 80 	cmpl   $0x8000000a,0x28(%edi)
41a1d4:	0f 84 0b 01 00 00    	je     0x41a2e5
41a1da:	8b 53 04             	mov    0x4(%ebx),%edx
41a1dd:	33 f6                	xor    %esi,%esi
41a1df:	8d 4a 02             	lea    0x2(%edx),%ecx
41a1e2:	66 8b 02             	mov    (%edx),%ax
41a1e5:	83 c2 02             	add    $0x2,%edx
41a1e8:	66 3b c6             	cmp    %si,%ax
41a1eb:	75 f5                	jne    0x41a1e2
41a1ed:	8b 7d ec             	mov    -0x14(%ebp),%edi
41a1f0:	2b d1                	sub    %ecx,%edx
41a1f2:	8b cf                	mov    %edi,%ecx
41a1f4:	d1 fa                	sar    $1,%edx
41a1f6:	8d 71 02             	lea    0x2(%ecx),%esi
41a1f9:	66 8b 01             	mov    (%ecx),%ax
41a1fc:	83 c1 02             	add    $0x2,%ecx
41a1ff:	66 3b 45 e8          	cmp    -0x18(%ebp),%ax
41a203:	75 f4                	jne    0x41a1f9
41a205:	2b ce                	sub    %esi,%ecx
41a207:	8d 72 02             	lea    0x2(%edx),%esi
41a20a:	d1 f9                	sar    $1,%ecx
41a20c:	03 f1                	add    %ecx,%esi
41a20e:	81 fe e7 7f 00 00    	cmp    $0x7fe7,%esi
41a214:	0f 87 16 01 00 00    	ja     0x41a330
41a21a:	33 c0                	xor    %eax,%eax
41a21c:	6a 30                	push   $0x30
41a21e:	50                   	push   %eax
41a21f:	8d 45 88             	lea    -0x78(%ebp),%eax
41a222:	50                   	push   %eax
41a223:	e8 95 dd ff ff       	call   0x417fbd
41a228:	83 c4 0c             	add    $0xc,%esp
41a22b:	8d 0c 36             	lea    (%esi,%esi,1),%ecx
41a22e:	e8 9d 3a ff ff       	call   0x40dcd0
41a233:	85 c0                	test   %eax,%eax