41ae1f:	8b cf                	mov    %edi,%ecx
41ae21:	8b 46 14             	mov    0x14(%esi),%eax
41ae24:	2b d9                	sub    %ecx,%ebx
41ae26:	03 df                	add    %edi,%ebx
41ae28:	d1 fb                	sar    $1,%ebx
41ae2a:	89 38                	mov    %edi,(%eax)
41ae2c:	8b 46 24             	mov    0x24(%esi),%eax
41ae2f:	89 08                	mov    %ecx,(%eax)
41ae31:	8b 46 34             	mov    0x34(%esi),%eax
41ae34:	89 18                	mov    %ebx,(%eax)
41ae36:	8b 46 20             	mov    0x20(%esi),%eax
41ae39:	83 38 00             	cmpl   $0x0,(%eax)
41ae3c:	75 12                	jne    0x41ae50
41ae3e:	8b 46 10             	mov    0x10(%esi),%eax
41ae41:	89 38                	mov    %edi,(%eax)
41ae43:	8b 46 20             	mov    0x20(%esi),%eax
41ae46:	83 20 00             	andl   $0x0,(%eax)
41ae49:	8b 46 30             	mov    0x30(%esi),%eax
41ae4c:	d1 ff                	sar    $1,%edi
41ae4e:	89 38                	mov    %edi,(%eax)
41ae50:	83 4e 40 01          	orl    $0x1,0x40(%esi)
41ae54:	5f                   	pop    %edi
41ae55:	5b                   	pop    %ebx
41ae56:	5e                   	pop    %esi
41ae57:	5d                   	pop    %ebp
41ae58:	c2 08 00             	ret    $0x8
41ae5b:	6a 04                	push   $0x4
41ae5d:	b8 ee 12 49 00       	mov    $0x4912ee,%eax
41ae62:	e8 6c 56 07 00       	call   0x4904d3
41ae67:	8b f1                	mov    %ecx,%esi
41ae69:	89 75 f0             	mov    %esi,-0x10(%ebp)
41ae6c:	8d 4e 04             	lea    0x4(%esi),%ecx
41ae6f:	c7 06 44 11 40 00    	movl   $0x401144,(%esi)
41ae75:	e8 93 2d 07 00       	call   0x48dc0d
41ae7a:	33 db                	xor    %ebx,%ebx
41ae7c:	6a 04                	push   $0x4
41ae7e:	89 5d fc             	mov    %ebx,-0x4(%ebp)
41ae81:	ff 15 14 74 4a 00    	call   *0x4a7414
41ae87:	8b f8                	mov    %eax,%edi
41ae89:	59                   	pop    %ecx
41ae8a:	85 ff                	test   %edi,%edi
41ae8c:	74 15                	je     0x41aea3
41ae8e:	e8 f4 2e 07 00       	call   0x48dd87
41ae93:	89 07                	mov    %eax,(%edi)
41ae95:	e8 e7 2e 07 00       	call   0x48dd81
41ae9a:	8b c8                	mov    %eax,%ecx
41ae9c:	e8 05 0a 00 00       	call   0x41b8a6
41aea1:	eb 02                	jmp    0x41aea5
41aea3:	8b fb                	mov    %ebx,%edi
41aea5:	8d 46 08             	lea    0x8(%esi),%eax
41aea8:	89 7e 38             	mov    %edi,0x38(%esi)
41aeab:	89 46 10             	mov    %eax,0x10(%esi)
41aeae:	8d 4e 0c             	lea    0xc(%esi),%ecx
41aeb1:	8d 46 18             	lea    0x18(%esi),%eax
41aeb4:	89 4e 14             	mov    %ecx,0x14(%esi)
41aeb7:	89 46 20             	mov    %eax,0x20(%esi)
41aeba:	8d 46 1c             	lea    0x1c(%esi),%eax
41aebd:	89 46 24             	mov    %eax,0x24(%esi)
41aec0:	8d 46 28             	lea    0x28(%esi),%eax
41aec3:	89 46 30             	mov    %eax,0x30(%esi)
41aec6:	8d 46 2c             	lea    0x2c(%esi),%eax
41aec9:	89 46 34             	mov    %eax,0x34(%esi)
41aecc:	89 19                	mov    %ebx,(%ecx)
41aece:	8b 46 24             	mov    0x24(%esi),%eax
41aed1:	89 18                	mov    %ebx,(%eax)
41aed3:	8b 46 34             	mov    0x34(%esi),%eax
41aed6:	89 18                	mov    %ebx,(%eax)
41aed8:	8b 46 10             	mov    0x10(%esi),%eax
41aedb:	89 18                	mov    %ebx,(%eax)
41aedd:	8b 46 20             	mov    0x20(%esi),%eax
41aee0:	89 18                	mov    %ebx,(%eax)
41aee2:	8b 46 30             	mov    0x30(%esi),%eax
41aee5:	89 18                	mov    %ebx,(%eax)
41aee7:	8b c6                	mov    %esi,%eax
41aee9:	e8 b3 55 07 00       	call   0x4904a1
41aeee:	c3                   	ret
41aeef:	6a 04                	push   $0x4
41aef1:	b8 11 13 49 00       	mov    $0x491311,%eax
41aef6:	e8 d8 55 07 00       	call   0x4904d3
41aefb:	8b d9                	mov    %ecx,%ebx
41aefd:	33 ff                	xor    %edi,%edi
41aeff:	c7 43 10 01 02 00 00 	movl   $0x201,0x10(%ebx)
41af06:	6a 04                	push   $0x4
41af08:	89 7b 24             	mov    %edi,0x24(%ebx)
41af0b:	89 7b 0c             	mov    %edi,0xc(%ebx)
41af0e:	c7 43 14 06 00 00 00 	movl   $0x6,0x14(%ebx)
41af15:	89 7b 18             	mov    %edi,0x18(%ebx)
41af18:	89 7b 1c             	mov    %edi,0x1c(%ebx)
41af1b:	89 7b 20             	mov    %edi,0x20(%ebx)
41af1e:	89 7b 04             	mov    %edi,0x4(%ebx)
41af21:	89 7b 08             	mov    %edi,0x8(%ebx)
41af24:	ff 15 14 74 4a 00    	call   *0x4a7414
41af2a:	8b f0                	mov    %eax,%esi
41af2c:	59                   	pop    %ecx
41af2d:	85 f6                	test   %esi,%esi
41af2f:	74 15                	je     0x41af46
41af31:	e8 51 2e 07 00       	call   0x48dd87
41af36:	89 06                	mov    %eax,(%esi)
41af38:	e8 44 2e 07 00       	call   0x48dd81
41af3d:	8b c8                	mov    %eax,%ecx
41af3f:	e8 62 09 00 00       	call   0x41b8a6
41af44:	eb 02                	jmp    0x41af48
41af46:	8b f7                	mov    %edi,%esi
41af48:	8b 45 08             	mov    0x8(%ebp),%eax
41af4b:	89 73 24             	mov    %esi,0x24(%ebx)
41af4e:	89 43 28             	mov    %eax,0x28(%ebx)
41af51:	89 7b 2c             	mov    %edi,0x2c(%ebx)
41af54:	8b 0e                	mov    (%esi),%ecx
41af56:	89 4d f0             	mov    %ecx,-0x10(%ebp)
41af59:	e8 48 09 00 00       	call   0x41b8a6
41af5e:	8d 4d f0             	lea    -0x10(%ebp),%ecx
41af61:	89 7d fc             	mov    %edi,-0x4(%ebp)
41af64:	e8 42 06 00 00       	call   0x41b5ab
41af69:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
41af6d:	8d 4d f0             	lea    -0x10(%ebp),%ecx
41af70:	8b f8                	mov    %eax,%edi
41af72:	e8 fc 0c 00 00       	call   0x41bc73
41af77:	8b 0f                	mov    (%edi),%ecx
41af79:	6a 20                	push   $0x20
41af7b:	8b 71 28             	mov    0x28(%ecx),%esi
41af7e:	8b ce                	mov    %esi,%ecx
41af80:	ff 15 2c 81 4a 00    	call   *0x4a812c
41af86:	8b cf                	mov    %edi,%ecx
41af88:	ff d6                	call   *%esi
41af8a:	33 f6                	xor    %esi,%esi
41af8c:	66 89 43 30          	mov    %ax,0x30(%ebx)
41af90:	39 73 28             	cmp    %esi,0x28(%ebx)
41af93:	75 19                	jne    0x41afae
41af95:	8b 43 08             	mov    0x8(%ebx),%eax
41af98:	83 e0 13             	and    $0x13,%eax
41af9b:	83 c8 04             	or     $0x4,%eax
41af9e:	89 43 08             	mov    %eax,0x8(%ebx)
41afa1:	85 43 0c             	test   %eax,0xc(%ebx)
41afa4:	74 08                	je     0x41afae
41afa6:	56                   	push   %esi
41afa7:	8b cb                	mov    %ebx,%ecx
41afa9:	e8 5d 08 00 00       	call   0x41b80b
41afae:	89 73 04             	mov    %esi,0x4(%ebx)
41afb1:	e8 eb 54 07 00       	call   0x4904a1
41afb6:	c2 08 00             	ret    $0x8
41afb9:	8b ff                	mov    %edi,%edi
41afbb:	55                   	push   %ebp
41afbc:	8b ec                	mov    %esp,%ebp
41afbe:	56                   	push   %esi
41afbf:	57                   	push   %edi
41afc0:	6a 20                	push   $0x20
41afc2:	ff 15 14 74 4a 00    	call   *0x4a7414
41afc8:	8b 75 14             	mov    0x14(%ebp),%esi
41afcb:	59                   	pop    %ecx
41afcc:	8b 4d 08             	mov    0x8(%ebp),%ecx
41afcf:	89 08                	mov    %ecx,(%eax)
41afd1:	8d 78 0c             	lea    0xc(%eax),%edi
41afd4:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41afd7:	89 48 04             	mov    %ecx,0x4(%eax)
41afda:	8b 4d 10             	mov    0x10(%ebp),%ecx
41afdd:	89 48 08             	mov    %ecx,0x8(%eax)
41afe0:	a5                   	movsl  %ds:(%esi),%es:(%edi)
41afe1:	a5                   	movsl  %ds:(%esi),%es:(%edi)
41afe2:	a5                   	movsl  %ds:(%esi),%es:(%edi)
41afe3:	a5                   	movsl  %ds:(%esi),%es:(%edi)
41afe4:	5f                   	pop    %edi
41afe5:	66 c7 40 1c 00 00    	movw   $0x0,0x1c(%eax)
41afeb:	5e                   	pop    %esi
41afec:	5d                   	pop    %ebp
41afed:	c2 14 00             	ret    $0x14
41aff0:	8b ff                	mov    %edi,%edi
41aff2:	55                   	push   %ebp
41aff3:	8b ec                	mov    %esp,%ebp
41aff5:	83 79 18 08          	cmpl   $0x8,0x18(%ecx)
41aff9:	8d 51 04             	lea    0x4(%ecx),%edx
41affc:	72 04                	jb     0x41b002
41affe:	8b 02                	mov    (%edx),%eax
41b000:	eb 02                	jmp    0x41b004
41b002:	8b c2                	mov    %edx,%eax
41b004:	39 45 08             	cmp    %eax,0x8(%ebp)
41b007:	72 17                	jb     0x41b020
41b009:	83 79 18 08          	cmpl   $0x8,0x18(%ecx)
41b00d:	72 02                	jb     0x41b011
41b00f:	8b 12                	mov    (%edx),%edx
41b011:	8b 41 14             	mov    0x14(%ecx),%eax
41b014:	8d 04 42             	lea    (%edx,%eax,2),%eax
41b017:	3b 45 08             	cmp    0x8(%ebp),%eax
41b01a:	76 04                	jbe    0x41b020
41b01c:	b0 01                	mov    $0x1,%al
41b01e:	eb 02                	jmp    0x41b022
41b020:	32 c0                	xor    %al,%al
41b022:	5d                   	pop    %ebp
41b023:	c2 04 00             	ret    $0x4
41b026:	8b ff                	mov    %edi,%edi
41b028:	55                   	push   %ebp
41b029:	8b ec                	mov    %esp,%ebp
41b02b:	51                   	push   %ecx
41b02c:	56                   	push   %esi
41b02d:	8b f1                	mov    %ecx,%esi
41b02f:	83 3e 00             	cmpl   $0x0,(%esi)
41b032:	75 24                	jne    0x41b058
41b034:	6a 00                	push   $0x0
41b036:	8d 4d fc             	lea    -0x4(%ebp),%ecx
41b039:	e8 72 2b 07 00       	call   0x48dbb0
41b03e:	83 3e 00             	cmpl   $0x0,(%esi)
41b041:	75 0d                	jne    0x41b050
41b043:	a1 78 42 4a 00       	mov    0x4a4278,%eax
41b048:	40                   	inc    %eax
41b049:	a3 78 42 4a 00       	mov    %eax,0x4a4278
41b04e:	89 06                	mov    %eax,(%esi)
41b050:	8d 4d fc             	lea    -0x4(%ebp),%ecx
41b053:	e8 a5 2b 07 00       	call   0x48dbfd
41b058:	8b 06                	mov    (%esi),%eax
41b05a:	5e                   	pop    %esi
41b05b:	c9                   	leave
41b05c:	c3                   	ret
41b05d:	8b ff                	mov    %edi,%edi
41b05f:	55                   	push   %ebp
41b060:	8b ec                	mov    %esp,%ebp
41b062:	8b 09                	mov    (%ecx),%ecx
41b064:	56                   	push   %esi
41b065:	8b 75 08             	mov    0x8(%ebp),%esi
41b068:	57                   	push   %edi
41b069:	33 ff                	xor    %edi,%edi
41b06b:	3b 71 0c             	cmp    0xc(%ecx),%esi
41b06e:	73 08                	jae    0x41b078
41b070:	8b 41 08             	mov    0x8(%ecx),%eax
41b073:	8b 04 b0             	mov    (%eax,%esi,4),%eax
41b076:	eb 02                	jmp    0x41b07a
41b078:	8b c7                	mov    %edi,%eax
41b07a:	85 c0                	test   %eax,%eax
41b07c:	75 17                	jne    0x41b095
41b07e:	38 41 14             	cmp    %al,0x14(%ecx)
41b081:	74 12                	je     0x41b095
41b083:	e8 f9 2c 07 00       	call   0x48dd81
41b088:	3b 70 0c             	cmp    0xc(%eax),%esi
41b08b:	73 06                	jae    0x41b093
41b08d:	8b 40 08             	mov    0x8(%eax),%eax
41b090:	8b 3c b0             	mov    (%eax,%esi,4),%edi
41b093:	8b c7                	mov    %edi,%eax
41b095:	5f                   	pop    %edi
41b096:	5e                   	pop    %esi
41b097:	5d                   	pop    %ebp
41b098:	c2 04 00             	ret    $0x4
41b09b:	c7 01 7c 11 40 00    	movl   $0x40117c,(%ecx)
41b0a1:	c3                   	ret
41b0a2:	cc                   	int3
41b0a3:	cc                   	int3
41b0a4:	cc                   	int3
41b0a5:	cc                   	int3
41b0a6:	cc                   	int3
41b0a7:	cc                   	int3
41b0a8:	cc                   	int3
41b0a9:	cc                   	int3
41b0aa:	cc                   	int3
41b0ab:	cc                   	int3
41b0ac:	cc                   	int3
41b0ad:	cc                   	int3
41b0ae:	cc                   	int3
41b0af:	cc                   	int3
41b0b0:	8b ff                	mov    %edi,%edi
41b0b2:	55                   	push   %ebp
41b0b3:	8b ec                	mov    %esp,%ebp
41b0b5:	56                   	push   %esi
41b0b6:	8b f1                	mov    %ecx,%esi
41b0b8:	e8 15 00 00 00       	call   0x41b0d2
41b0bd:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
41b0c1:	74 08                	je     0x41b0cb
41b0c3:	56                   	push   %esi
41b0c4:	ff 15 10 74 4a 00    	call   *0x4a7410
41b0ca:	59                   	pop    %ecx
41b0cb:	8b c6                	mov    %esi,%eax
41b0cd:	5e                   	pop    %esi
41b0ce:	5d                   	pop    %ebp
41b0cf:	c2 04 00             	ret    $0x4
41b0d2:	8b ff                	mov    %edi,%edi
41b0d4:	56                   	push   %esi
41b0d5:	8b f1                	mov    %ecx,%esi
41b0d7:	83 7e 14 00          	cmpl   $0x0,0x14(%esi)
41b0db:	c7 06 cc 10 40 00    	movl   $0x4010cc,(%esi)
41b0e1:	74 0a                	je     0x41b0ed
41b0e3:	ff 76 10             	push   0x10(%esi)
41b0e6:	ff 15 b8 80 4a 00    	call   *0x4a80b8
41b0ec:	59                   	pop    %ecx
41b0ed:	c7 06 7c 11 40 00    	movl   $0x40117c,(%esi)
41b0f3:	5e                   	pop    %esi
41b0f4:	c3                   	ret
41b0f5:	cc                   	int3
41b0f6:	cc                   	int3
41b0f7:	cc                   	int3
41b0f8:	cc                   	int3
41b0f9:	cc                   	int3
41b0fa:	cc                   	int3
41b0fb:	cc                   	int3
41b0fc:	cc                   	int3
41b0fd:	cc                   	int3
41b0fe:	cc                   	int3
41b0ff:	cc                   	int3
41b100:	8b ff                	mov    %edi,%edi
41b102:	55                   	push   %ebp
41b103:	8b ec                	mov    %esp,%ebp
41b105:	8d 41 08             	lea    0x8(%ecx),%eax
41b108:	50                   	push   %eax
41b109:	ff 75 10             	push   0x10(%ebp)
41b10c:	ff 75 0c             	push   0xc(%ebp)
41b10f:	ff 75 08             	push   0x8(%ebp)
41b112:	e8 5d 32 07 00       	call   0x48e374
41b117:	83 c4 10             	add    $0x10,%esp
41b11a:	5d                   	pop    %ebp
41b11b:	c2 0c 00             	ret    $0xc
41b11e:	cc                   	int3
41b11f:	cc                   	int3
41b120:	8b ff                	mov    %edi,%edi
41b122:	55                   	push   %ebp
41b123:	8b ec                	mov    %esp,%ebp
41b125:	53                   	push   %ebx
41b126:	57                   	push   %edi
41b127:	8b 7d 0c             	mov    0xc(%ebp),%edi
41b12a:	8b d9                	mov    %ecx,%ebx
41b12c:	3b 7d 10             	cmp    0x10(%ebp),%edi
41b12f:	74 26                	je     0x41b157
41b131:	56                   	push   %esi
41b132:	8b 0b                	mov    (%ebx),%ecx
41b134:	0f b7 07             	movzwl (%edi),%eax
41b137:	50                   	push   %eax
41b138:	ff 75 08             	push   0x8(%ebp)
41b13b:	8b 71 08             	mov    0x8(%ecx),%esi
41b13e:	8b ce                	mov    %esi,%ecx
41b140:	ff 15 2c 81 4a 00    	call   *0x4a812c
41b146:	8b cb                	mov    %ebx,%ecx
41b148:	ff d6                	call   *%esi
41b14a:	84 c0                	test   %al,%al
41b14c:	75 08                	jne    0x41b156
41b14e:	83 c7 02             	add    $0x2,%edi
41b151:	3b 7d 10             	cmp    0x10(%ebp),%edi
41b154:	75 dc                	jne    0x41b132
41b156:	5e                   	pop    %esi
41b157:	8b c7                	mov    %edi,%eax
41b159:	5f                   	pop    %edi
41b15a:	5b                   	pop    %ebx
41b15b:	5d                   	pop    %ebp
41b15c:	c2 0c 00             	ret    $0xc
41b15f:	cc                   	int3
41b160:	8b ff                	mov    %edi,%edi
41b162:	55                   	push   %ebp
41b163:	8b ec                	mov    %esp,%ebp
41b165:	8d 41 08             	lea    0x8(%ecx),%eax
41b168:	50                   	push   %eax
41b169:	ff 75 0c             	push   0xc(%ebp)
41b16c:	e8 ca 31 07 00       	call   0x48e33b
41b171:	66 85 45 08          	test   %ax,0x8(%ebp)
41b175:	59                   	pop    %ecx
41b176:	59                   	pop    %ecx
41b177:	0f 95 c0             	setne  %al
41b17a:	5d                   	pop    %ebp