41cf46:	3b c6                	cmp    %esi,%eax
41cf48:	74 06                	je     0x41cf50
41cf4a:	8b 31                	mov    (%ecx),%esi
41cf4c:	3b f7                	cmp    %edi,%esi
41cf4e:	75 ed                	jne    0x41cf3d
41cf50:	8d 46 01             	lea    0x1(%esi),%eax
41cf53:	3b f7                	cmp    %edi,%esi
41cf55:	75 02                	jne    0x41cf59
41cf57:	8b c7                	mov    %edi,%eax
41cf59:	5f                   	pop    %edi
41cf5a:	5e                   	pop    %esi
41cf5b:	c3                   	ret
41cf5c:	6a 10                	push   $0x10
41cf5e:	b8 7e f5 41 00       	mov    $0x41f57e,%eax
41cf63:	e8 a6 de ff ff       	call   0x41ae0e
41cf68:	8b d9                	mov    %ecx,%ebx
41cf6a:	8b 7d 08             	mov    0x8(%ebp),%edi
41cf6d:	8d 45 e4             	lea    -0x1c(%ebp),%eax
41cf70:	33 f6                	xor    %esi,%esi
41cf72:	8b cf                	mov    %edi,%ecx
41cf74:	ff 77 0c             	push   0xc(%edi)
41cf77:	56                   	push   %esi
41cf78:	50                   	push   %eax
41cf79:	e8 9d f0 fe ff       	call   0x40c01b
41cf7e:	8b 0b                	mov    (%ebx),%ecx
41cf80:	8d 45 e4             	lea    -0x1c(%ebp),%eax
41cf83:	50                   	push   %eax
41cf84:	e8 a2 0e ff ff       	call   0x40de2b
41cf89:	39 30                	cmp    %esi,(%eax)
41cf8b:	74 04                	je     0x41cf91
41cf8d:	33 c0                	xor    %eax,%eax
41cf8f:	eb 77                	jmp    0x41d008
41cf91:	68 fc 4b 40 00       	push   $0x404bfc
41cf96:	68 84 00 00 00       	push   $0x84
41cf9b:	e8 db dd ff ff       	call   0x41ad7b
41cfa0:	59                   	pop    %ecx
41cfa1:	59                   	pop    %ecx
41cfa2:	89 45 f0             	mov    %eax,-0x10(%ebp)
41cfa5:	89 75 fc             	mov    %esi,-0x4(%ebp)
41cfa8:	85 c0                	test   %eax,%eax
41cfaa:	74 0d                	je     0x41cfb9
41cfac:	ff 75 0c             	push   0xc(%ebp)
41cfaf:	8b c8                	mov    %eax,%ecx
41cfb1:	57                   	push   %edi
41cfb2:	e8 9a 16 ff ff       	call   0x40e651
41cfb7:	eb 02                	jmp    0x41cfbb
41cfb9:	8b c6                	mov    %esi,%eax
41cfbb:	89 45 f0             	mov    %eax,-0x10(%ebp)
41cfbe:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
41cfc5:	85 c0                	test   %eax,%eax
41cfc7:	75 07                	jne    0x41cfd0
41cfc9:	be 0e 00 07 80       	mov    $0x8007000e,%esi
41cfce:	eb 12                	jmp    0x41cfe2
41cfd0:	8b 0b                	mov    (%ebx),%ecx
41cfd2:	50                   	push   %eax
41cfd3:	50                   	push   %eax
41cfd4:	e8 b3 0d ff ff       	call   0x40dd8c
41cfd9:	85 c0                	test   %eax,%eax
41cfdb:	75 1d                	jne    0x41cffa
41cfdd:	be ff ff 00 80       	mov    $0x8000ffff,%esi
41cfe2:	8b 4d 04             	mov    0x4(%ebp),%ecx
41cfe5:	ba 32 01 00 00       	mov    $0x132,%edx
41cfea:	56                   	push   %esi
41cfeb:	68 90 56 40 00       	push   $0x405690
41cff0:	e8 15 f1 00 00       	call   0x42c10a
41cff5:	8b 45 f0             	mov    -0x10(%ebp),%eax
41cff8:	eb 02                	jmp    0x41cffc
41cffa:	8b c6                	mov    %esi,%eax
41cffc:	85 c0                	test   %eax,%eax
41cffe:	74 06                	je     0x41d006
41d000:	50                   	push   %eax
41d001:	e8 4e 2e 01 00       	call   0x42fe54
41d006:	8b c6                	mov    %esi,%eax
41d008:	e8 cf dd ff ff       	call   0x41addc
41d00d:	c2 08 00             	ret    $0x8
41d010:	8b ff                	mov    %edi,%edi
41d012:	55                   	push   %ebp
41d013:	8b ec                	mov    %esp,%ebp
41d015:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
41d019:	56                   	push   %esi
41d01a:	8b f1                	mov    %ecx,%esi
41d01c:	c7 06 1c 19 40 00    	movl   $0x40191c,(%esi)
41d022:	74 07                	je     0x41d02b
41d024:	56                   	push   %esi
41d025:	e8 9b e6 ff ff       	call   0x41b6c5
41d02a:	59                   	pop    %ecx
41d02b:	8b c6                	mov    %esi,%eax
41d02d:	5e                   	pop    %esi
41d02e:	5d                   	pop    %ebp
41d02f:	c2 04 00             	ret    $0x4
41d032:	cc                   	int3
41d033:	cc                   	int3
41d034:	cc                   	int3
41d035:	cc                   	int3
41d036:	cc                   	int3
41d037:	cc                   	int3
41d038:	cc                   	int3
41d039:	cc                   	int3
41d03a:	cc                   	int3
41d03b:	cc                   	int3
41d03c:	cc                   	int3
41d03d:	cc                   	int3
41d03e:	cc                   	int3
41d03f:	cc                   	int3
41d040:	8b ff                	mov    %edi,%edi
41d042:	55                   	push   %ebp
41d043:	8b ec                	mov    %esp,%ebp
41d045:	8b 45 08             	mov    0x8(%ebp),%eax
41d048:	56                   	push   %esi
41d049:	8b f1                	mov    %ecx,%esi
41d04b:	85 c0                	test   %eax,%eax
41d04d:	75 0c                	jne    0x41d05b
41d04f:	6a 0c                	push   $0xc
41d051:	e8 b9 0d ff ff       	call   0x40de0f
41d056:	59                   	pop    %ecx
41d057:	85 c0                	test   %eax,%eax
41d059:	74 11                	je     0x41d06c
41d05b:	c7 00 38 19 40 00    	movl   $0x401938,(%eax)
41d061:	8b 4e 04             	mov    0x4(%esi),%ecx
41d064:	89 48 04             	mov    %ecx,0x4(%eax)
41d067:	5e                   	pop    %esi
41d068:	5d                   	pop    %ebp
41d069:	c2 04 00             	ret    $0x4
41d06c:	e8 60 d3 ff ff       	call   0x41a3d1
41d071:	cc                   	int3
41d072:	cc                   	int3
41d073:	cc                   	int3
41d074:	cc                   	int3
41d075:	cc                   	int3
41d076:	cc                   	int3
41d077:	cc                   	int3
41d078:	cc                   	int3
41d079:	cc                   	int3
41d07a:	cc                   	int3
41d07b:	cc                   	int3
41d07c:	cc                   	int3
41d07d:	cc                   	int3
41d07e:	cc                   	int3
41d07f:	cc                   	int3
41d080:	8b ff                	mov    %edi,%edi
41d082:	55                   	push   %ebp
41d083:	8b ec                	mov    %esp,%ebp
41d085:	56                   	push   %esi
41d086:	57                   	push   %edi
41d087:	8b f9                	mov    %ecx,%edi
41d089:	6a 00                	push   $0x0
41d08b:	8b 07                	mov    (%edi),%eax
41d08d:	8b 70 14             	mov    0x14(%eax),%esi
41d090:	8b ce                	mov    %esi,%ecx
41d092:	ff 15 20 a5 43 00    	call   *0x43a520
41d098:	8b cf                	mov    %edi,%ecx
41d09a:	ff d6                	call   *%esi
41d09c:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
41d0a0:	74 07                	je     0x41d0a9
41d0a2:	57                   	push   %edi
41d0a3:	e8 1d e6 ff ff       	call   0x41b6c5
41d0a8:	59                   	pop    %ecx
41d0a9:	5f                   	pop    %edi
41d0aa:	5e                   	pop    %esi
41d0ab:	5d                   	pop    %ebp
41d0ac:	c2 04 00             	ret    $0x4
41d0af:	cc                   	int3
41d0b0:	8b ff                	mov    %edi,%edi
41d0b2:	55                   	push   %ebp
41d0b3:	8b ec                	mov    %esp,%ebp
41d0b5:	83 c1 04             	add    $0x4,%ecx
41d0b8:	5d                   	pop    %ebp
41d0b9:	e9 9e fe ff ff       	jmp    0x41cf5c
41d0be:	cc                   	int3
41d0bf:	cc                   	int3
41d0c0:	b8 8c 84 43 00       	mov    $0x43848c,%eax
41d0c5:	c3                   	ret
41d0c6:	8b ff                	mov    %edi,%edi
41d0c8:	56                   	push   %esi
41d0c9:	8b f1                	mov    %ecx,%esi
41d0cb:	8b 0e                	mov    (%esi),%ecx
41d0cd:	85 c9                	test   %ecx,%ecx
41d0cf:	74 05                	je     0x41d0d6
41d0d1:	e8 65 33 01 00       	call   0x43043b
41d0d6:	83 26 00             	andl   $0x0,(%esi)
41d0d9:	8b c6                	mov    %esi,%eax
41d0db:	5e                   	pop    %esi
41d0dc:	c3                   	ret
41d0dd:	8b ff                	mov    %edi,%edi
41d0df:	56                   	push   %esi
41d0e0:	8b f1                	mov    %ecx,%esi
41d0e2:	8b 0e                	mov    (%esi),%ecx
41d0e4:	85 c9                	test   %ecx,%ecx
41d0e6:	74 05                	je     0x41d0ed
41d0e8:	e8 7f 33 01 00       	call   0x43046c
41d0ed:	83 26 00             	andl   $0x0,(%esi)
41d0f0:	8b c6                	mov    %esi,%eax
41d0f2:	5e                   	pop    %esi
41d0f3:	c3                   	ret
41d0f4:	8b ff                	mov    %edi,%edi
41d0f6:	55                   	push   %ebp
41d0f7:	8b ec                	mov    %esp,%ebp
41d0f9:	56                   	push   %esi
41d0fa:	57                   	push   %edi
41d0fb:	8b 7d 0c             	mov    0xc(%ebp),%edi
41d0fe:	8b f1                	mov    %ecx,%esi
41d100:	39 7d 08             	cmp    %edi,0x8(%ebp)
41d103:	73 1e                	jae    0x41d123
41d105:	8b 46 04             	mov    0x4(%esi),%eax
41d108:	53                   	push   %ebx
41d109:	8b 5d 10             	mov    0x10(%ebp),%ebx
41d10c:	85 c0                	test   %eax,%eax
41d10e:	74 0c                	je     0x41d11c
41d110:	3b c3                	cmp    %ebx,%eax
41d112:	74 08                	je     0x41d11c
41d114:	50                   	push   %eax
41d115:	ff 15 14 a4 43 00    	call   *0x43a414
41d11b:	59                   	pop    %ecx
41d11c:	89 5e 04             	mov    %ebx,0x4(%esi)
41d11f:	89 7e 08             	mov    %edi,0x8(%esi)
41d122:	5b                   	pop    %ebx
41d123:	5f                   	pop    %edi
41d124:	5e                   	pop    %esi
41d125:	5d                   	pop    %ebp
41d126:	c2 0c 00             	ret    $0xc
41d129:	cc                   	int3
41d12a:	cc                   	int3
41d12b:	cc                   	int3
41d12c:	cc                   	int3
41d12d:	cc                   	int3
41d12e:	cc                   	int3
41d12f:	cc                   	int3
41d130:	8b ff                	mov    %edi,%edi
41d132:	55                   	push   %ebp
41d133:	8b ec                	mov    %esp,%ebp
41d135:	5d                   	pop    %ebp
41d136:	e9 5f 00 00 00       	jmp    0x41d19a
41d13b:	8b ff                	mov    %edi,%edi
41d13d:	55                   	push   %ebp
41d13e:	8b ec                	mov    %esp,%ebp
41d140:	8b 45 08             	mov    0x8(%ebp),%eax
41d143:	56                   	push   %esi
41d144:	8b f1                	mov    %ecx,%esi
41d146:	6b d0 0c             	imul   $0xc,%eax,%edx
41d149:	33 c9                	xor    %ecx,%ecx
41d14b:	51                   	push   %ecx
41d14c:	68 08 02 00 00       	push   $0x208
41d151:	89 06                	mov    %eax,(%esi)
41d153:	8d 46 04             	lea    0x4(%esi),%eax
41d156:	50                   	push   %eax
41d157:	51                   	push   %ecx
41d158:	ff b2 24 83 43 00    	push   0x438324(%edx)
41d15e:	51                   	push   %ecx
41d15f:	ff b2 20 83 43 00    	push   0x438320(%edx)
41d165:	ff 15 10 a5 43 00    	call   *0x43a510
41d16b:	50                   	push   %eax
41d16c:	ff 15 08 a5 43 00    	call   *0x43a508
41d172:	85 c0                	test   %eax,%eax
41d174:	7e 0a                	jle    0x41d180
41d176:	0f b7 c0             	movzwl %ax,%eax
41d179:	0d 00 00 07 80       	or     $0x80070000,%eax
41d17e:	85 c0                	test   %eax,%eax
41d180:	79 11                	jns    0x41d193
41d182:	8b 4d 04             	mov    0x4(%ebp),%ecx
41d185:	50                   	push   %eax
41d186:	68 5c 5c 40 00       	push   $0x405c5c
41d18b:	6a 2b                	push   $0x2b
41d18d:	5a                   	pop    %edx
41d18e:	e8 36 0f 01 00       	call   0x42e0c9
41d193:	8b c6                	mov    %esi,%eax
41d195:	5e                   	pop    %esi
41d196:	5d                   	pop    %ebp
41d197:	c2 04 00             	ret    $0x4
41d19a:	8b ff                	mov    %edi,%edi
41d19c:	55                   	push   %ebp
41d19d:	8b ec                	mov    %esp,%ebp
41d19f:	56                   	push   %esi
41d1a0:	68 fc 4b 40 00       	push   $0x404bfc
41d1a5:	68 0c 02 00 00       	push   $0x20c
41d1aa:	e8 cc db ff ff       	call   0x41ad7b
41d1af:	8b 75 0c             	mov    0xc(%ebp),%esi
41d1b2:	59                   	pop    %ecx
41d1b3:	59                   	pop    %ecx
41d1b4:	85 c0                	test   %eax,%eax
41d1b6:	74 0c                	je     0x41d1c4
41d1b8:	56                   	push   %esi
41d1b9:	8b c8                	mov    %eax,%ecx
41d1bb:	e8 7b ff ff ff       	call   0x41d13b
41d1c0:	8b c8                	mov    %eax,%ecx
41d1c2:	eb 02                	jmp    0x41d1c6
41d1c4:	33 c9                	xor    %ecx,%ecx
41d1c6:	33 c0                	xor    %eax,%eax
41d1c8:	89 0c b5 7c 8a 43 00 	mov    %ecx,0x438a7c(,%esi,4)
41d1cf:	85 c9                	test   %ecx,%ecx
41d1d1:	5e                   	pop    %esi
41d1d2:	0f 95 c0             	setne  %al
41d1d5:	5d                   	pop    %ebp
41d1d6:	c2 0c 00             	ret    $0xc
41d1d9:	8b ff                	mov    %edi,%edi
41d1db:	55                   	push   %ebp
41d1dc:	8b ec                	mov    %esp,%ebp
41d1de:	51                   	push   %ecx
41d1df:	53                   	push   %ebx
41d1e0:	56                   	push   %esi
41d1e1:	8b c2                	mov    %edx,%eax
41d1e3:	33 c9                	xor    %ecx,%ecx
41d1e5:	57                   	push   %edi
41d1e6:	6a 02                	push   $0x2
41d1e8:	89 45 fc             	mov    %eax,-0x4(%ebp)
41d1eb:	83 20 00             	andl   $0x0,(%eax)
41d1ee:	33 ff                	xor    %edi,%edi
41d1f0:	5e                   	pop    %esi
41d1f1:	8b 87 20 83 43 00    	mov    0x438320(%edi),%eax
41d1f7:	ba 4c 5c 40 00       	mov    $0x405c4c,%edx
41d1fc:	66 8b 18             	mov    (%eax),%bx
41d1ff:	66 3b 1a             	cmp    (%edx),%bx
41d202:	75 1e                	jne    0x41d222
41d204:	66 85 db             	test   %bx,%bx
41d207:	74 15                	je     0x41d21e
41d209:	66 8b 58 02          	mov    0x2(%eax),%bx
41d20d:	66 3b 5a 02          	cmp    0x2(%edx),%bx
41d211:	75 0f                	jne    0x41d222
41d213:	83 c0 04             	add    $0x4,%eax
41d216:	83 c2 04             	add    $0x4,%edx
41d219:	66 85 db             	test   %bx,%bx
41d21c:	75 de                	jne    0x41d1fc
41d21e:	33 c0                	xor    %eax,%eax
41d220:	eb 05                	jmp    0x41d227
41d222:	1b c0                	sbb    %eax,%eax
41d224:	83 c8 01             	or     $0x1,%eax
41d227:	85 c0                	test   %eax,%eax
41d229:	74 0b                	je     0x41d236
41d22b:	83 c7 0c             	add    $0xc,%edi
41d22e:	41                   	inc    %ecx
41d22f:	83 ff 18             	cmp    $0x18,%edi
41d232:	72 bd                	jb     0x41d1f1
41d234:	eb 07                	jmp    0x41d23d
41d236:	8b f1                	mov    %ecx,%esi
41d238:	83 f9 02             	cmp    $0x2,%ecx
41d23b:	72 05                	jb     0x41d242
41d23d:	e8 be 82 01 00       	call   0x435500
41d242:	6a 00                	push   $0x0
41d244:	56                   	push   %esi
41d245:	68 30 d1 41 00       	push   $0x41d130
41d24a:	8d 0c b5 10 8f 43 00 	lea    0x438f10(,%esi,4),%ecx
41d251:	51                   	push   %ecx
41d252:	ff 15 e8 a2 43 00    	call   *0x43a2e8
41d258:	85 c0                	test   %eax,%eax
41d25a:	74 10                	je     0x41d26c
41d25c:	8b 55 fc             	mov    -0x4(%ebp),%edx
41d25f:	b0 01                	mov    $0x1,%al
41d261:	8b 0c b5 7c 8a 43 00 	mov    0x438a7c(,%esi,4),%ecx
41d268:	89 0a                	mov    %ecx,(%edx)
41d26a:	eb 02                	jmp    0x41d26e
41d26c:	32 c0                	xor    %al,%al