41bac4:	85 ff                	test   %edi,%edi
41bac6:	0f 8f 7b ff ff ff    	jg     0x41ba47
41bacc:	eb 03                	jmp    0x41bad1
41bace:	8b 45 fc             	mov    -0x4(%ebp),%eax
41bad1:	5e                   	pop    %esi
41bad2:	5f                   	pop    %edi
41bad3:	5b                   	pop    %ebx
41bad4:	c9                   	leave
41bad5:	c2 0c 00             	ret    $0xc
41bad8:	cc                   	int3
41bad9:	cc                   	int3
41bada:	cc                   	int3
41badb:	cc                   	int3
41badc:	cc                   	int3
41badd:	cc                   	int3
41bade:	cc                   	int3
41badf:	cc                   	int3
41bae0:	8b ff                	mov    %edi,%edi
41bae2:	55                   	push   %ebp
41bae3:	8b ec                	mov    %esp,%ebp
41bae5:	ff 75 0c             	push   0xc(%ebp)
41bae8:	ff 75 0c             	push   0xc(%ebp)
41baeb:	ff 75 08             	push   0x8(%ebp)
41baee:	e8 36 ff ff ff       	call   0x41ba29
41baf3:	5d                   	pop    %ebp
41baf4:	c2 08 00             	ret    $0x8
41baf7:	cc                   	int3
41baf8:	cc                   	int3
41baf9:	cc                   	int3
41bafa:	cc                   	int3
41bafb:	cc                   	int3
41bafc:	cc                   	int3
41bafd:	cc                   	int3
41bafe:	cc                   	int3
41baff:	cc                   	int3
41bb00:	8b ff                	mov    %edi,%edi
41bb02:	55                   	push   %ebp
41bb03:	8b ec                	mov    %esp,%ebp
41bb05:	51                   	push   %ecx
41bb06:	51                   	push   %ecx
41bb07:	53                   	push   %ebx
41bb08:	57                   	push   %edi
41bb09:	8b 7d 0c             	mov    0xc(%ebp),%edi
41bb0c:	33 c0                	xor    %eax,%eax
41bb0e:	89 45 fc             	mov    %eax,-0x4(%ebp)
41bb11:	8b d9                	mov    %ecx,%ebx
41bb13:	85 ff                	test   %edi,%edi
41bb15:	0f 8e 8a 00 00 00    	jle    0x41bba5
41bb1b:	8b 4d 08             	mov    0x8(%ebp),%ecx
41bb1e:	56                   	push   %esi
41bb1f:	8b 43 24             	mov    0x24(%ebx),%eax
41bb22:	8b 00                	mov    (%eax),%eax
41bb24:	89 45 f8             	mov    %eax,-0x8(%ebp)
41bb27:	85 c0                	test   %eax,%eax
41bb29:	74 07                	je     0x41bb32
41bb2b:	8b 43 34             	mov    0x34(%ebx),%eax
41bb2e:	8b 00                	mov    (%eax),%eax
41bb30:	eb 02                	jmp    0x41bb34
41bb32:	33 c0                	xor    %eax,%eax
41bb34:	85 c0                	test   %eax,%eax
41bb36:	7e 2d                	jle    0x41bb65
41bb38:	8b f0                	mov    %eax,%esi
41bb3a:	3b f8                	cmp    %eax,%edi
41bb3c:	7d 02                	jge    0x41bb40
41bb3e:	8b f7                	mov    %edi,%esi
41bb40:	8d 14 36             	lea    (%esi,%esi,1),%edx
41bb43:	03 c0                	add    %eax,%eax
41bb45:	52                   	push   %edx
41bb46:	51                   	push   %ecx
41bb47:	50                   	push   %eax
41bb48:	ff 75 f8             	push   -0x8(%ebp)
41bb4b:	ff 15 f0 80 4a 00    	call   *0x4a80f0
41bb51:	8b 43 34             	mov    0x34(%ebx),%eax
41bb54:	8d 14 36             	lea    (%esi,%esi,1),%edx
41bb57:	83 c4 10             	add    $0x10,%esp
41bb5a:	2b fe                	sub    %esi,%edi
41bb5c:	29 30                	sub    %esi,(%eax)
41bb5e:	8b 43 24             	mov    0x24(%ebx),%eax
41bb61:	01 10                	add    %edx,(%eax)
41bb63:	eb 26                	jmp    0x41bb8b
41bb65:	0f b7 01             	movzwl (%ecx),%eax
41bb68:	8b 0b                	mov    (%ebx),%ecx
41bb6a:	50                   	push   %eax
41bb6b:	8b 71 04             	mov    0x4(%ecx),%esi
41bb6e:	8b ce                	mov    %esi,%ecx
41bb70:	ff 15 2c 81 4a 00    	call   *0x4a812c
41bb76:	8b cb                	mov    %ebx,%ecx
41bb78:	ff d6                	call   *%esi
41bb7a:	b9 ff ff 00 00       	mov    $0xffff,%ecx
41bb7f:	66 3b c8             	cmp    %ax,%cx
41bb82:	74 1d                	je     0x41bba1
41bb84:	33 f6                	xor    %esi,%esi
41bb86:	4f                   	dec    %edi
41bb87:	6a 02                	push   $0x2
41bb89:	46                   	inc    %esi
41bb8a:	5a                   	pop    %edx
41bb8b:	8b 45 fc             	mov    -0x4(%ebp),%eax
41bb8e:	8b 4d 08             	mov    0x8(%ebp),%ecx
41bb91:	03 c6                	add    %esi,%eax
41bb93:	03 ca                	add    %edx,%ecx
41bb95:	89 45 fc             	mov    %eax,-0x4(%ebp)
41bb98:	89 4d 08             	mov    %ecx,0x8(%ebp)
41bb9b:	85 ff                	test   %edi,%edi
41bb9d:	7f 80                	jg     0x41bb1f
41bb9f:	eb 03                	jmp    0x41bba4
41bba1:	8b 45 fc             	mov    -0x4(%ebp),%eax
41bba4:	5e                   	pop    %esi
41bba5:	5f                   	pop    %edi
41bba6:	5b                   	pop    %ebx
41bba7:	c9                   	leave
41bba8:	c2 08 00             	ret    $0x8
41bbab:	cc                   	int3
41bbac:	cc                   	int3
41bbad:	cc                   	int3
41bbae:	cc                   	int3
41bbaf:	cc                   	int3
41bbb0:	8b ff                	mov    %edi,%edi
41bbb2:	55                   	push   %ebp
41bbb3:	8b ec                	mov    %esp,%ebp
41bbb5:	8b 45 08             	mov    0x8(%ebp),%eax
41bbb8:	83 08 ff             	orl    $0xffffffff,(%eax)
41bbbb:	33 c9                	xor    %ecx,%ecx
41bbbd:	89 48 08             	mov    %ecx,0x8(%eax)
41bbc0:	89 48 0c             	mov    %ecx,0xc(%eax)
41bbc3:	89 48 10             	mov    %ecx,0x10(%eax)
41bbc6:	5d                   	pop    %ebp
41bbc7:	c2 10 00             	ret    $0x10
41bbca:	cc                   	int3
41bbcb:	cc                   	int3
41bbcc:	cc                   	int3
41bbcd:	cc                   	int3
41bbce:	cc                   	int3
41bbcf:	cc                   	int3
41bbd0:	8b ff                	mov    %edi,%edi
41bbd2:	55                   	push   %ebp
41bbd3:	8b ec                	mov    %esp,%ebp
41bbd5:	8b 45 08             	mov    0x8(%ebp),%eax
41bbd8:	83 08 ff             	orl    $0xffffffff,(%eax)
41bbdb:	33 c9                	xor    %ecx,%ecx
41bbdd:	89 48 08             	mov    %ecx,0x8(%eax)
41bbe0:	89 48 0c             	mov    %ecx,0xc(%eax)
41bbe3:	89 48 10             	mov    %ecx,0x10(%eax)
41bbe6:	5d                   	pop    %ebp
41bbe7:	c2 20 00             	ret    $0x20
41bbea:	cc                   	int3
41bbeb:	cc                   	int3
41bbec:	cc                   	int3
41bbed:	cc                   	int3
41bbee:	cc                   	int3
41bbef:	cc                   	int3
41bbf0:	8b c1                	mov    %ecx,%eax
41bbf2:	c2 08 00             	ret    $0x8
41bbf5:	cc                   	int3
41bbf6:	cc                   	int3
41bbf7:	cc                   	int3
41bbf8:	cc                   	int3
41bbf9:	cc                   	int3
41bbfa:	cc                   	int3
41bbfb:	cc                   	int3
41bbfc:	cc                   	int3
41bbfd:	cc                   	int3
41bbfe:	cc                   	int3
41bbff:	cc                   	int3
41bc00:	c2 04 00             	ret    $0x4
41bc03:	8b ff                	mov    %edi,%edi
41bc05:	55                   	push   %ebp
41bc06:	8b ec                	mov    %esp,%ebp
41bc08:	51                   	push   %ecx
41bc09:	56                   	push   %esi
41bc0a:	57                   	push   %edi
41bc0b:	8b f9                	mov    %ecx,%edi
41bc0d:	8d 4d fc             	lea    -0x4(%ebp),%ecx
41bc10:	6a 00                	push   $0x0
41bc12:	e8 99 1f 07 00       	call   0x48dbb0
41bc17:	8b 47 04             	mov    0x4(%edi),%eax
41bc1a:	8b f0                	mov    %eax,%esi
41bc1c:	85 c0                	test   %eax,%eax
41bc1e:	74 0b                	je     0x41bc2b
41bc20:	83 f8 ff             	cmp    $0xffffffff,%eax
41bc23:	73 06                	jae    0x41bc2b
41bc25:	8d 70 ff             	lea    -0x1(%eax),%esi
41bc28:	89 77 04             	mov    %esi,0x4(%edi)
41bc2b:	8d 4d fc             	lea    -0x4(%ebp),%ecx
41bc2e:	e8 ca 1f 07 00       	call   0x48dbfd
41bc33:	f7 de                	neg    %esi
41bc35:	1b f6                	sbb    %esi,%esi
41bc37:	f7 d6                	not    %esi
41bc39:	23 f7                	and    %edi,%esi
41bc3b:	5f                   	pop    %edi
41bc3c:	8b c6                	mov    %esi,%eax
41bc3e:	5e                   	pop    %esi
41bc3f:	c9                   	leave
41bc40:	c3                   	ret
41bc41:	cc                   	int3
41bc42:	cc                   	int3
41bc43:	cc                   	int3
41bc44:	cc                   	int3
41bc45:	cc                   	int3
41bc46:	cc                   	int3
41bc47:	cc                   	int3
41bc48:	cc                   	int3
41bc49:	cc                   	int3
41bc4a:	cc                   	int3
41bc4b:	cc                   	int3
41bc4c:	cc                   	int3
41bc4d:	cc                   	int3
41bc4e:	cc                   	int3
41bc4f:	cc                   	int3
41bc50:	8b ff                	mov    %edi,%edi
41bc52:	55                   	push   %ebp
41bc53:	8b ec                	mov    %esp,%ebp
41bc55:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
41bc59:	56                   	push   %esi
41bc5a:	8b f1                	mov    %ecx,%esi
41bc5c:	c7 06 7c 11 40 00    	movl   $0x40117c,(%esi)
41bc62:	74 08                	je     0x41bc6c
41bc64:	56                   	push   %esi
41bc65:	ff 15 10 74 4a 00    	call   *0x4a7410
41bc6b:	59                   	pop    %ecx
41bc6c:	8b c6                	mov    %esi,%eax
41bc6e:	5e                   	pop    %esi
41bc6f:	5d                   	pop    %ebp
41bc70:	c2 04 00             	ret    $0x4
41bc73:	8b 09                	mov    (%ecx),%ecx
41bc75:	85 c9                	test   %ecx,%ecx
41bc77:	74 21                	je     0x41bc9a
41bc79:	57                   	push   %edi
41bc7a:	e8 84 ff ff ff       	call   0x41bc03
41bc7f:	8b f8                	mov    %eax,%edi
41bc81:	85 ff                	test   %edi,%edi
41bc83:	74 14                	je     0x41bc99
41bc85:	8b 0f                	mov    (%edi),%ecx
41bc87:	56                   	push   %esi
41bc88:	6a 01                	push   $0x1
41bc8a:	8b 31                	mov    (%ecx),%esi
41bc8c:	8b ce                	mov    %esi,%ecx
41bc8e:	ff 15 2c 81 4a 00    	call   *0x4a812c
41bc94:	8b cf                	mov    %edi,%ecx
41bc96:	ff d6                	call   *%esi
41bc98:	5e                   	pop    %esi
41bc99:	5f                   	pop    %edi
41bc9a:	c3                   	ret
41bc9b:	8b ff                	mov    %edi,%edi
41bc9d:	56                   	push   %esi
41bc9e:	57                   	push   %edi
41bc9f:	8b f9                	mov    %ecx,%edi
41bca1:	8b 77 38             	mov    0x38(%edi),%esi
41bca4:	c7 07 44 11 40 00    	movl   $0x401144,(%edi)
41bcaa:	85 f6                	test   %esi,%esi
41bcac:	74 0f                	je     0x41bcbd
41bcae:	8b ce                	mov    %esi,%ecx
41bcb0:	e8 be ff ff ff       	call   0x41bc73
41bcb5:	56                   	push   %esi
41bcb6:	ff 15 10 74 4a 00    	call   *0x4a7410
41bcbc:	59                   	pop    %ecx
41bcbd:	8d 4f 04             	lea    0x4(%edi),%ecx
41bcc0:	5f                   	pop    %edi
41bcc1:	5e                   	pop    %esi
41bcc2:	e9 60 1f 07 00       	jmp    0x48dc27
41bcc7:	cc                   	int3
41bcc8:	cc                   	int3
41bcc9:	cc                   	int3
41bcca:	cc                   	int3
41bccb:	cc                   	int3
41bccc:	cc                   	int3
41bccd:	cc                   	int3
41bcce:	cc                   	int3
41bccf:	cc                   	int3
41bcd0:	8b ff                	mov    %edi,%edi
41bcd2:	55                   	push   %ebp
41bcd3:	8b ec                	mov    %esp,%ebp
41bcd5:	6a ff                	push   $0xffffffff
41bcd7:	68 34 11 49 00       	push   $0x491134
41bcdc:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
41bce2:	50                   	push   %eax
41bce3:	56                   	push   %esi
41bce4:	a1 dc 38 4a 00       	mov    0x4a38dc,%eax
41bce9:	33 c5                	xor    %ebp,%eax
41bceb:	50                   	push   %eax
41bcec:	8d 45 f4             	lea    -0xc(%ebp),%eax
41bcef:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
41bcf5:	8d 71 f8             	lea    -0x8(%ecx),%esi
41bcf8:	8b 06                	mov    (%esi),%eax
41bcfa:	8b 40 04             	mov    0x4(%eax),%eax
41bcfd:	c7 44 08 f8 bc 11 40 	movl   $0x4011bc,-0x8(%eax,%ecx,1)
41bd04:	00
41bd05:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41bd09:	51                   	push   %ecx
41bd0a:	c7 01 04 12 40 00    	movl   $0x401204,(%ecx)
41bd10:	e8 e4 1d 07 00       	call   0x48daf9
41bd15:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
41bd19:	59                   	pop    %ecx
41bd1a:	74 08                	je     0x41bd24
41bd1c:	56                   	push   %esi
41bd1d:	ff 15 10 74 4a 00    	call   *0x4a7410
41bd23:	59                   	pop    %ecx
41bd24:	8b c6                	mov    %esi,%eax
41bd26:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41bd29:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41bd30:	59                   	pop    %ecx
41bd31:	5e                   	pop    %esi
41bd32:	c9                   	leave
41bd33:	c2 04 00             	ret    $0x4
41bd36:	8b 41 f8             	mov    -0x8(%ecx),%eax
41bd39:	8b 40 04             	mov    0x4(%eax),%eax
41bd3c:	c7 44 08 f8 bc 11 40 	movl   $0x4011bc,-0x8(%eax,%ecx,1)
41bd43:	00
41bd44:	c3                   	ret
41bd45:	cc                   	int3
41bd46:	cc                   	int3
41bd47:	cc                   	int3
41bd48:	cc                   	int3
41bd49:	cc                   	int3
41bd4a:	cc                   	int3
41bd4b:	cc                   	int3
41bd4c:	cc                   	int3
41bd4d:	cc                   	int3
41bd4e:	cc                   	int3
41bd4f:	cc                   	int3
41bd50:	8b ff                	mov    %edi,%edi
41bd52:	55                   	push   %ebp
41bd53:	8b ec                	mov    %esp,%ebp
41bd55:	6a ff                	push   $0xffffffff
41bd57:	68 34 11 49 00       	push   $0x491134
41bd5c:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
41bd62:	50                   	push   %eax
41bd63:	56                   	push   %esi
41bd64:	a1 dc 38 4a 00       	mov    0x4a38dc,%eax
41bd69:	33 c5                	xor    %ebp,%eax
41bd6b:	50                   	push   %eax
41bd6c:	8d 45 f4             	lea    -0xc(%ebp),%eax
41bd6f:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
41bd75:	8d 71 fc             	lea    -0x4(%ecx),%esi
41bd78:	8b 06                	mov    (%esi),%eax
41bd7a:	8b 40 04             	mov    0x4(%eax),%eax
41bd7d:	c7 44 08 fc cc 11 40 	movl   $0x4011cc,-0x4(%eax,%ecx,1)
41bd84:	00
41bd85:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41bd89:	51                   	push   %ecx
41bd8a:	c7 01 04 12 40 00    	movl   $0x401204,(%ecx)
41bd90:	e8 64 1d 07 00       	call   0x48daf9
41bd95:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
41bd99:	59                   	pop    %ecx
41bd9a:	74 08                	je     0x41bda4
41bd9c:	56                   	push   %esi
41bd9d:	ff 15 10 74 4a 00    	call   *0x4a7410
41bda3:	59                   	pop    %ecx
41bda4:	8b c6                	mov    %esi,%eax
41bda6:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41bda9:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0