41ceb7:	66 3b 11             	cmp    (%ecx),%dx
41ceba:	75 1c                	jne    0x41ced8
41cebc:	66 85 d2             	test   %dx,%dx
41cebf:	74 1c                	je     0x41cedd
41cec1:	66 8b 50 02          	mov    0x2(%eax),%dx
41cec5:	66 3b 51 02          	cmp    0x2(%ecx),%dx
41cec9:	75 0d                	jne    0x41ced8
41cecb:	83 c0 04             	add    $0x4,%eax
41cece:	83 c1 04             	add    $0x4,%ecx
41ced1:	66 85 d2             	test   %dx,%dx
41ced4:	75 de                	jne    0x41ceb4
41ced6:	eb 05                	jmp    0x41cedd
41ced8:	1b ff                	sbb    %edi,%edi
41ceda:	83 cf 01             	or     $0x1,%edi
41cedd:	85 ff                	test   %edi,%edi
41cedf:	75 2e                	jne    0x41cf0f
41cee1:	6a 02                	push   $0x2
41cee3:	8d 45 fc             	lea    -0x4(%ebp),%eax
41cee6:	50                   	push   %eax
41cee7:	68 0b 00 00 20       	push   $0x2000000b
41ceec:	8b 45 0c             	mov    0xc(%ebp),%eax
41ceef:	05 50 02 00 00       	add    $0x250,%eax
41cef4:	50                   	push   %eax
41cef5:	e8 1d 67 ff ff       	call   0x413617
41cefa:	85 c0                	test   %eax,%eax
41cefc:	74 27                	je     0x41cf25
41cefe:	8b 45 fc             	mov    -0x4(%ebp),%eax
41cf01:	83 f8 03             	cmp    $0x3,%eax
41cf04:	7d 05                	jge    0x41cf0b
41cf06:	b8 e9 fd 00 00       	mov    $0xfde9,%eax
41cf0b:	5f                   	pop    %edi
41cf0c:	5e                   	pop    %esi
41cf0d:	c9                   	leave
41cf0e:	c3                   	ret
41cf0f:	56                   	push   %esi
41cf10:	e8 ef 5c ff ff       	call   0x412c04
41cf15:	59                   	pop    %ecx
41cf16:	eb f3                	jmp    0x41cf0b
41cf18:	6a 02                	push   $0x2
41cf1a:	8d 45 fc             	lea    -0x4(%ebp),%eax
41cf1d:	50                   	push   %eax
41cf1e:	68 04 10 00 20       	push   $0x20001004
41cf23:	eb c7                	jmp    0x41ceec
41cf25:	33 c0                	xor    %eax,%eax
41cf27:	eb e2                	jmp    0x41cf0b
41cf29:	8b ff                	mov    %edi,%edi
41cf2b:	55                   	push   %ebp
41cf2c:	8b ec                	mov    %esp,%ebp
41cf2e:	83 ec 18             	sub    $0x18,%esp
41cf31:	a1 14 30 43 00       	mov    0x433014,%eax
41cf36:	33 c5                	xor    %ebp,%eax
41cf38:	89 45 fc             	mov    %eax,-0x4(%ebp)
41cf3b:	56                   	push   %esi
41cf3c:	8b 75 08             	mov    0x8(%ebp),%esi
41cf3f:	8d 45 e8             	lea    -0x18(%ebp),%eax
41cf42:	6a 09                	push   $0x9
41cf44:	50                   	push   %eax
41cf45:	6a 59                	push   $0x59
41cf47:	56                   	push   %esi
41cf48:	e8 ca 66 ff ff       	call   0x413617
41cf4d:	85 c0                	test   %eax,%eax
41cf4f:	74 16                	je     0x41cf67
41cf51:	6a 09                	push   $0x9
41cf53:	8d 45 e8             	lea    -0x18(%ebp),%eax
41cf56:	56                   	push   %esi
41cf57:	50                   	push   %eax
41cf58:	e8 4b 5d ff ff       	call   0x412ca8
41cf5d:	83 c4 0c             	add    $0xc,%esp
41cf60:	85 c0                	test   %eax,%eax
41cf62:	75 03                	jne    0x41cf67
41cf64:	40                   	inc    %eax
41cf65:	eb 02                	jmp    0x41cf69
41cf67:	33 c0                	xor    %eax,%eax
41cf69:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41cf6c:	33 cd                	xor    %ebp,%ecx
41cf6e:	5e                   	pop    %esi
41cf6f:	e8 98 a4 fe ff       	call   0x40740c
41cf74:	c9                   	leave
41cf75:	c3                   	ret
41cf76:	8b ff                	mov    %edi,%edi
41cf78:	55                   	push   %ebp
41cf79:	8b ec                	mov    %esp,%ebp
41cf7b:	51                   	push   %ecx
41cf7c:	56                   	push   %esi
41cf7d:	8b 75 0c             	mov    0xc(%ebp),%esi
41cf80:	33 d2                	xor    %edx,%edx
41cf82:	57                   	push   %edi
41cf83:	42                   	inc    %edx
41cf84:	33 ff                	xor    %edi,%edi
41cf86:	85 f6                	test   %esi,%esi
41cf88:	78 4e                	js     0x41cfd8
41cf8a:	53                   	push   %ebx
41cf8b:	85 d2                	test   %edx,%edx
41cf8d:	74 48                	je     0x41cfd7
41cf8f:	8d 04 37             	lea    (%edi,%esi,1),%eax
41cf92:	99                   	cltd
41cf93:	2b c2                	sub    %edx,%eax
41cf95:	8b d8                	mov    %eax,%ebx
41cf97:	8b 45 08             	mov    0x8(%ebp),%eax
41cf9a:	d1 fb                	sar    $1,%ebx
41cf9c:	6b cb 0c             	imul   $0xc,%ebx,%ecx
41cf9f:	89 4d fc             	mov    %ecx,-0x4(%ebp)
41cfa2:	ff 34 01             	push   (%ecx,%eax,1)
41cfa5:	8b 45 10             	mov    0x10(%ebp),%eax
41cfa8:	ff 30                	push   (%eax)
41cfaa:	e8 30 d4 ff ff       	call   0x41a3df
41cfaf:	8b d0                	mov    %eax,%edx
41cfb1:	59                   	pop    %ecx
41cfb2:	59                   	pop    %ecx
41cfb3:	85 d2                	test   %edx,%edx
41cfb5:	75 12                	jne    0x41cfc9
41cfb7:	8b 45 08             	mov    0x8(%ebp),%eax
41cfba:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41cfbd:	83 c0 04             	add    $0x4,%eax
41cfc0:	03 c8                	add    %eax,%ecx
41cfc2:	8b 45 10             	mov    0x10(%ebp),%eax
41cfc5:	89 08                	mov    %ecx,(%eax)
41cfc7:	eb 0a                	jmp    0x41cfd3
41cfc9:	79 05                	jns    0x41cfd0
41cfcb:	8d 73 ff             	lea    -0x1(%ebx),%esi
41cfce:	eb 03                	jmp    0x41cfd3
41cfd0:	8d 7b 01             	lea    0x1(%ebx),%edi
41cfd3:	3b fe                	cmp    %esi,%edi
41cfd5:	7e b4                	jle    0x41cf8b
41cfd7:	5b                   	pop    %ebx
41cfd8:	33 c0                	xor    %eax,%eax
41cfda:	85 d2                	test   %edx,%edx
41cfdc:	5f                   	pop    %edi
41cfdd:	0f 94 c0             	sete   %al
41cfe0:	5e                   	pop    %esi
41cfe1:	c9                   	leave
41cfe2:	c3                   	ret
41cfe3:	8b ff                	mov    %edi,%edi
41cfe5:	55                   	push   %ebp
41cfe6:	8b ec                	mov    %esp,%ebp
41cfe8:	51                   	push   %ecx
41cfe9:	51                   	push   %ecx
41cfea:	53                   	push   %ebx
41cfeb:	8b 5d 08             	mov    0x8(%ebp),%ebx
41cfee:	56                   	push   %esi
41cfef:	57                   	push   %edi
41cff0:	e8 de 71 ff ff       	call   0x4141d3
41cff5:	33 c9                	xor    %ecx,%ecx
41cff7:	33 d2                	xor    %edx,%edx
41cff9:	89 55 f8             	mov    %edx,-0x8(%ebp)
41cffc:	8d 70 50             	lea    0x50(%eax),%esi
41cfff:	8d 86 50 02 00 00    	lea    0x250(%esi),%eax
41d005:	89 56 08             	mov    %edx,0x8(%esi)
41d008:	66 89 08             	mov    %cx,(%eax)
41d00b:	8d 7e 04             	lea    0x4(%esi),%edi
41d00e:	89 45 fc             	mov    %eax,-0x4(%ebp)
41d011:	8b cb                	mov    %ebx,%ecx
41d013:	8d 83 80 00 00 00    	lea    0x80(%ebx),%eax
41d019:	89 1e                	mov    %ebx,(%esi)
41d01b:	89 07                	mov    %eax,(%edi)
41d01d:	66 39 10             	cmp    %dx,(%eax)
41d020:	74 14                	je     0x41d036
41d022:	57                   	push   %edi
41d023:	6a 16                	push   $0x16
41d025:	68 20 89 42 00       	push   $0x428920
41d02a:	e8 47 ff ff ff       	call   0x41cf76
41d02f:	8b 0e                	mov    (%esi),%ecx
41d031:	83 c4 0c             	add    $0xc,%esp
41d034:	33 d2                	xor    %edx,%edx
41d036:	56                   	push   %esi
41d037:	66 39 11             	cmp    %dx,(%ecx)
41d03a:	74 47                	je     0x41d083
41d03c:	8b 07                	mov    (%edi),%eax
41d03e:	66 39 10             	cmp    %dx,(%eax)
41d041:	74 07                	je     0x41d04a
41d043:	e8 26 f9 ff ff       	call   0x41c96e
41d048:	eb 05                	jmp    0x41d04f
41d04a:	e8 b8 f9 ff ff       	call   0x41ca07
41d04f:	33 c0                	xor    %eax,%eax
41d051:	59                   	pop    %ecx
41d052:	39 46 08             	cmp    %eax,0x8(%esi)
41d055:	75 32                	jne    0x41d089
41d057:	56                   	push   %esi
41d058:	6a 40                	push   $0x40
41d05a:	68 10 86 42 00       	push   $0x428610
41d05f:	e8 12 ff ff ff       	call   0x41cf76
41d064:	83 c4 0c             	add    $0xc,%esp
41d067:	85 c0                	test   %eax,%eax
41d069:	74 1e                	je     0x41d089
41d06b:	8b 07                	mov    (%edi),%eax
41d06d:	33 c9                	xor    %ecx,%ecx
41d06f:	56                   	push   %esi
41d070:	66 39 08             	cmp    %cx,(%eax)
41d073:	74 07                	je     0x41d07c
41d075:	e8 f4 f8 ff ff       	call   0x41c96e
41d07a:	eb 0c                	jmp    0x41d088
41d07c:	e8 86 f9 ff ff       	call   0x41ca07
41d081:	eb 05                	jmp    0x41d088
41d083:	e8 5f f8 ff ff       	call   0x41c8e7
41d088:	59                   	pop    %ecx
41d089:	33 ff                	xor    %edi,%edi
41d08b:	39 7e 08             	cmp    %edi,0x8(%esi)
41d08e:	0f 84 36 01 00 00    	je     0x41d1ca
41d094:	8d 83 00 01 00 00    	lea    0x100(%ebx),%eax
41d09a:	66 39 3b             	cmp    %di,(%ebx)
41d09d:	75 0d                	jne    0x41d0ac
41d09f:	66 39 38             	cmp    %di,(%eax)
41d0a2:	75 08                	jne    0x41d0ac
41d0a4:	ff 15 24 41 42 00    	call   *0x424124
41d0aa:	eb 09                	jmp    0x41d0b5
41d0ac:	56                   	push   %esi
41d0ad:	50                   	push   %eax
41d0ae:	e8 80 fd ff ff       	call   0x41ce33
41d0b3:	59                   	pop    %ecx
41d0b4:	59                   	pop    %ecx
41d0b5:	8b f0                	mov    %eax,%esi
41d0b7:	85 f6                	test   %esi,%esi
41d0b9:	0f 84 0b 01 00 00    	je     0x41d1ca
41d0bf:	81 fe e8 fd 00 00    	cmp    $0xfde8,%esi
41d0c5:	0f 84 ff 00 00 00    	je     0x41d1ca
41d0cb:	0f b7 c6             	movzwl %si,%eax
41d0ce:	50                   	push   %eax
41d0cf:	ff 15 20 41 42 00    	call   *0x424120
41d0d5:	85 c0                	test   %eax,%eax
41d0d7:	0f 84 ed 00 00 00    	je     0x41d1ca
41d0dd:	8b 45 0c             	mov    0xc(%ebp),%eax
41d0e0:	85 c0                	test   %eax,%eax
41d0e2:	74 02                	je     0x41d0e6
41d0e4:	89 30                	mov    %esi,(%eax)
41d0e6:	8b 7d 10             	mov    0x10(%ebp),%edi
41d0e9:	85 ff                	test   %edi,%edi
41d0eb:	0f 84 d4 00 00 00    	je     0x41d1c5
41d0f1:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41d0f4:	8d 9f 20 01 00 00    	lea    0x120(%edi),%ebx
41d0fa:	33 c0                	xor    %eax,%eax
41d0fc:	66 89 03             	mov    %ax,(%ebx)
41d0ff:	8d 51 02             	lea    0x2(%ecx),%edx
41d102:	66 8b 01             	mov    (%ecx),%ax
41d105:	83 c1 02             	add    $0x2,%ecx
41d108:	66 3b 45 f8          	cmp    -0x8(%ebp),%ax
41d10c:	75 f4                	jne    0x41d102
41d10e:	2b ca                	sub    %edx,%ecx
41d110:	d1 f9                	sar    $1,%ecx
41d112:	8d 41 01             	lea    0x1(%ecx),%eax
41d115:	50                   	push   %eax
41d116:	ff 75 fc             	push   -0x4(%ebp)
41d119:	6a 55                	push   $0x55
41d11b:	53                   	push   %ebx
41d11c:	e8 ad d5 ff ff       	call   0x41a6ce
41d121:	83 c4 10             	add    $0x10,%esp
41d124:	85 c0                	test   %eax,%eax
41d126:	0f 85 a5 00 00 00    	jne    0x41d1d1
41d12c:	6a 40                	push   $0x40
41d12e:	57                   	push   %edi
41d12f:	68 01 10 00 00       	push   $0x1001
41d134:	53                   	push   %ebx
41d135:	e8 dd 64 ff ff       	call   0x413617
41d13a:	85 c0                	test   %eax,%eax
41d13c:	0f 84 88 00 00 00    	je     0x41d1ca
41d142:	6a 40                	push   $0x40
41d144:	8d 9f 80 00 00 00    	lea    0x80(%edi),%ebx
41d14a:	53                   	push   %ebx
41d14b:	68 02 10 00 00       	push   $0x1002
41d150:	8d 87 20 01 00 00    	lea    0x120(%edi),%eax
41d156:	50                   	push   %eax
41d157:	e8 bb 64 ff ff       	call   0x413617
41d15c:	85 c0                	test   %eax,%eax
41d15e:	74 6a                	je     0x41d1ca
41d160:	6a 5f                	push   $0x5f
41d162:	53                   	push   %ebx
41d163:	e8 0d b5 fe ff       	call   0x408675
41d168:	59                   	pop    %ecx
41d169:	59                   	pop    %ecx
41d16a:	85 c0                	test   %eax,%eax
41d16c:	75 0e                	jne    0x41d17c
41d16e:	6a 2e                	push   $0x2e
41d170:	53                   	push   %ebx
41d171:	e8 ff b4 fe ff       	call   0x408675
41d176:	59                   	pop    %ecx
41d177:	59                   	pop    %ecx
41d178:	85 c0                	test   %eax,%eax
41d17a:	74 15                	je     0x41d191
41d17c:	6a 40                	push   $0x40
41d17e:	53                   	push   %ebx
41d17f:	6a 07                	push   $0x7
41d181:	8d 87 20 01 00 00    	lea    0x120(%edi),%eax
41d187:	50                   	push   %eax
41d188:	e8 8a 64 ff ff       	call   0x413617
41d18d:	85 c0                	test   %eax,%eax
41d18f:	74 39                	je     0x41d1ca
41d191:	81 c7 00 01 00 00    	add    $0x100,%edi
41d197:	81 fe e9 fd 00 00    	cmp    $0xfde9,%esi
41d19d:	75 18                	jne    0x41d1b7
41d19f:	6a 05                	push   $0x5
41d1a1:	68 a4 93 42 00       	push   $0x4293a4
41d1a6:	6a 10                	push   $0x10
41d1a8:	57                   	push   %edi
41d1a9:	e8 20 d5 ff ff       	call   0x41a6ce
41d1ae:	83 c4 10             	add    $0x10,%esp
41d1b1:	85 c0                	test   %eax,%eax
41d1b3:	75 1c                	jne    0x41d1d1
41d1b5:	eb 0e                	jmp    0x41d1c5
41d1b7:	6a 0a                	push   $0xa
41d1b9:	6a 10                	push   $0x10
41d1bb:	57                   	push   %edi
41d1bc:	56                   	push   %esi
41d1bd:	e8 22 46 00 00       	call   0x4217e4
41d1c2:	83 c4 10             	add    $0x10,%esp
41d1c5:	33 c0                	xor    %eax,%eax
41d1c7:	40                   	inc    %eax
41d1c8:	eb 02                	jmp    0x41d1cc
41d1ca:	33 c0                	xor    %eax,%eax
41d1cc:	5f                   	pop    %edi
41d1cd:	5e                   	pop    %esi
41d1ce:	5b                   	pop    %ebx
41d1cf:	c9                   	leave
41d1d0:	c3                   	ret
41d1d1:	33 c0                	xor    %eax,%eax
41d1d3:	50                   	push   %eax
41d1d4:	50                   	push   %eax
41d1d5:	50                   	push   %eax
41d1d6:	50                   	push   %eax
41d1d7:	50                   	push   %eax
41d1d8:	e8 d1 fe fe ff       	call   0x40d0ae
41d1dd:	cc                   	int3
41d1de:	8b ff                	mov    %edi,%edi
41d1e0:	55                   	push   %ebp
41d1e1:	8b ec                	mov    %esp,%ebp
41d1e3:	81 ec f4 00 00 00    	sub    $0xf4,%esp
41d1e9:	a1 14 30 43 00       	mov    0x433014,%eax
41d1ee:	33 c5                	xor    %ebp,%eax
41d1f0:	89 45 fc             	mov    %eax,-0x4(%ebp)
41d1f3:	53                   	push   %ebx
41d1f4:	56                   	push   %esi
41d1f5:	8b 75 08             	mov    0x8(%ebp),%esi
41d1f8:	57                   	push   %edi
41d1f9:	e8 d5 6f ff ff       	call   0x4141d3
41d1fe:	8b d8                	mov    %eax,%ebx
41d200:	e8 ce 6f ff ff       	call   0x4141d3
41d205:	56                   	push   %esi
41d206:	8b b8 4c 03 00 00    	mov    0x34c(%eax),%edi
41d20c:	e8 0d 05 00 00       	call   0x41d71e
41d211:	59                   	pop    %ecx
41d212:	8b 4b 64             	mov    0x64(%ebx),%ecx
41d215:	8b f0                	mov    %eax,%esi
41d217:	f7 d9                	neg    %ecx
41d219:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
41d21f:	6a 78                	push   $0x78
41d221:	1b c9                	sbb    %ecx,%ecx
41d223:	81 e1 05 f0 ff ff    	and    $0xfffff005,%ecx
41d229:	50                   	push   %eax
41d22a:	81 c1 02 10 00 00    	add    $0x1002,%ecx
41d230:	51                   	push   %ecx
41d231:	56                   	push   %esi
41d232:	ff 15 dc 40 42 00    	call   *0x4240dc