4165db:	0f 85 17 ec 00 00    	jne    0x4251f8
4165e1:	8b 06                	mov    (%esi),%eax
4165e3:	8b 78 0c             	mov    0xc(%eax),%edi
4165e6:	85 ff                	test   %edi,%edi
4165e8:	0f 85 14 ec 00 00    	jne    0x425202
4165ee:	89 11                	mov    %edx,(%ecx)
4165f0:	8b 4a 04             	mov    0x4(%edx),%ecx
4165f3:	85 c9                	test   %ecx,%ecx
4165f5:	74 05                	je     0x4165fc
4165f7:	8b 06                	mov    (%esi),%eax
4165f9:	89 41 0c             	mov    %eax,0xc(%ecx)
4165fc:	8b 06                	mov    (%esi),%eax
4165fe:	21 58 10             	and    %ebx,0x10(%eax)
416601:	8b 0e                	mov    (%esi),%ecx
416603:	8b 42 04             	mov    0x4(%edx),%eax
416606:	89 41 08             	mov    %eax,0x8(%ecx)
416609:	8b 06                	mov    (%esi),%eax
41660b:	89 50 0c             	mov    %edx,0xc(%eax)
41660e:	21 5a 10             	and    %ebx,0x10(%edx)
416611:	8b 06                	mov    (%esi),%eax
416613:	89 42 04             	mov    %eax,0x4(%edx)
416616:	89 7a 0c             	mov    %edi,0xc(%edx)
416619:	89 16                	mov    %edx,(%esi)
41661b:	e9 02 ff ff ff       	jmp    0x416522
416620:	8b 45 fc             	mov    -0x4(%ebp),%eax
416623:	89 38                	mov    %edi,(%eax)
416625:	e9 4b ff ff ff       	jmp    0x416575
41662a:	cc                   	int3
41662b:	cc                   	int3
41662c:	cc                   	int3
41662d:	cc                   	int3
41662e:	cc                   	int3
41662f:	cc                   	int3
416630:	8b ff                	mov    %edi,%edi
416632:	55                   	push   %ebp
416633:	8b ec                	mov    %esp,%ebp
416635:	56                   	push   %esi
416636:	8b 75 08             	mov    0x8(%ebp),%esi
416639:	57                   	push   %edi
41663a:	33 ff                	xor    %edi,%edi
41663c:	f0 ff 46 54          	lock incl 0x54(%esi)
416640:	33 d2                	xor    %edx,%edx
416642:	8d 4e 28             	lea    0x28(%esi),%ecx
416645:	42                   	inc    %edx
416646:	33 c0                	xor    %eax,%eax
416648:	f0 0f b1 11          	lock cmpxchg %edx,(%ecx)
41664c:	85 c0                	test   %eax,%eax
41664e:	75 13                	jne    0x416663
416650:	50                   	push   %eax
416651:	50                   	push   %eax
416652:	68 33 10 04 80       	push   $0x80041033
416657:	8d 4e fc             	lea    -0x4(%esi),%ecx
41665a:	33 d2                	xor    %edx,%edx
41665c:	e8 14 00 00 00       	call   0x416675
416661:	8b f8                	mov    %eax,%edi
416663:	83 7e 24 00          	cmpl   $0x0,0x24(%esi)
416667:	0f 85 f5 eb 00 00    	jne    0x425262
41666d:	8b c7                	mov    %edi,%eax
41666f:	5f                   	pop    %edi
416670:	5e                   	pop    %esi
416671:	5d                   	pop    %ebp
416672:	c2 10 00             	ret    $0x10
416675:	8b ff                	mov    %edi,%edi
416677:	55                   	push   %ebp
416678:	8b ec                	mov    %esp,%ebp
41667a:	53                   	push   %ebx
41667b:	56                   	push   %esi
41667c:	57                   	push   %edi
41667d:	33 ff                	xor    %edi,%edi
41667f:	8b da                	mov    %edx,%ebx
416681:	8b f1                	mov    %ecx,%esi
416683:	39 7d 0c             	cmp    %edi,0xc(%ebp)
416686:	0f 85 3b df 00 00    	jne    0x4245c7
41668c:	ff 75 10             	push   0x10(%ebp)
41668f:	8b 46 34             	mov    0x34(%esi),%eax
416692:	57                   	push   %edi
416693:	ff 75 08             	push   0x8(%ebp)
416696:	8b 30                	mov    (%eax),%esi
416698:	53                   	push   %ebx
416699:	50                   	push   %eax
41669a:	8b 4e 10             	mov    0x10(%esi),%ecx
41669d:	ff 15 c4 12 45 00    	call   *0x4512c4
4166a3:	ff 56 10             	call   *0x10(%esi)
4166a6:	57                   	push   %edi
4166a7:	8b f0                	mov    %eax,%esi
4166a9:	ff 15 0c 30 45 00    	call   *0x45300c
4166af:	5f                   	pop    %edi
4166b0:	8b c6                	mov    %esi,%eax
4166b2:	5e                   	pop    %esi
4166b3:	5b                   	pop    %ebx
4166b4:	5d                   	pop    %ebp
4166b5:	c2 0c 00             	ret    $0xc
4166b8:	8b 02                	mov    (%edx),%eax
4166ba:	39 01                	cmp    %eax,(%ecx)
4166bc:	75 03                	jne    0x4166c1
4166be:	33 c0                	xor    %eax,%eax
4166c0:	c3                   	ret
4166c1:	1b c0                	sbb    %eax,%eax
4166c3:	83 e0 fe             	and    $0xfffffffe,%eax
4166c6:	40                   	inc    %eax
4166c7:	c3                   	ret
4166c8:	cc                   	int3
4166c9:	cc                   	int3
4166ca:	cc                   	int3
4166cb:	cc                   	int3
4166cc:	cc                   	int3
4166cd:	cc                   	int3
4166ce:	cc                   	int3
4166cf:	cc                   	int3
4166d0:	8b ff                	mov    %edi,%edi
4166d2:	55                   	push   %ebp
4166d3:	8b ec                	mov    %esp,%ebp
4166d5:	56                   	push   %esi
4166d6:	57                   	push   %edi
4166d7:	8b 7d 08             	mov    0x8(%ebp),%edi
4166da:	33 f6                	xor    %esi,%esi
4166dc:	85 ff                	test   %edi,%edi
4166de:	74 51                	je     0x416731
4166e0:	8b 07                	mov    (%edi),%eax
4166e2:	8b 70 14             	mov    0x14(%eax),%esi
4166e5:	8b ce                	mov    %esi,%ecx
4166e7:	ff 15 c4 12 45 00    	call   *0x4512c4
4166ed:	8b cf                	mov    %edi,%ecx
4166ef:	ff d6                	call   *%esi
4166f1:	85 c0                	test   %eax,%eax
4166f3:	75 10                	jne    0x416705
4166f5:	ff 77 38             	push   0x38(%edi)
4166f8:	ff 15 4c 11 45 00    	call   *0x45114c
4166fe:	8b cf                	mov    %edi,%ecx
416700:	e8 3b 00 00 00       	call   0x416740
416705:	8b 07                	mov    (%edi),%eax
416707:	53                   	push   %ebx
416708:	8b 70 18             	mov    0x18(%eax),%esi
41670b:	8b ce                	mov    %esi,%ecx
41670d:	ff 15 c4 12 45 00    	call   *0x4512c4
416713:	8b cf                	mov    %edi,%ecx
416715:	ff d6                	call   *%esi
416717:	8b 0f                	mov    (%edi),%ecx
416719:	8b f0                	mov    %eax,%esi
41671b:	57                   	push   %edi
41671c:	8b 59 10             	mov    0x10(%ecx),%ebx
41671f:	81 fb e0 98 41 00    	cmp    $0x4198e0,%ebx
416725:	0f 85 52 eb 00 00    	jne    0x42527d
41672b:	e8 b0 31 00 00       	call   0x4198e0
416730:	5b                   	pop    %ebx
416731:	5f                   	pop    %edi
416732:	8b c6                	mov    %esi,%eax
416734:	5e                   	pop    %esi
416735:	5d                   	pop    %ebp
416736:	c2 04 00             	ret    $0x4
416739:	cc                   	int3
41673a:	cc                   	int3
41673b:	cc                   	int3
41673c:	cc                   	int3
41673d:	cc                   	int3
41673e:	cc                   	int3
41673f:	cc                   	int3
416740:	8b ff                	mov    %edi,%edi
416742:	55                   	push   %ebp
416743:	8b ec                	mov    %esp,%ebp
416745:	6a ff                	push   $0xffffffff
416747:	68 98 2c 42 00       	push   $0x422c98
41674c:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
416752:	50                   	push   %eax
416753:	83 ec 48             	sub    $0x48,%esp
416756:	53                   	push   %ebx
416757:	56                   	push   %esi
416758:	57                   	push   %edi
416759:	a1 54 02 45 00       	mov    0x450254,%eax
41675e:	33 c5                	xor    %ebp,%eax
416760:	50                   	push   %eax
416761:	8d 45 f4             	lea    -0xc(%ebp),%eax
416764:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
41676a:	8b f9                	mov    %ecx,%edi
41676c:	89 7d e8             	mov    %edi,-0x18(%ebp)
41676f:	8b 47 44             	mov    0x44(%edi),%eax
416772:	c7 45 cc 00 00 00 00 	movl   $0x0,-0x34(%ebp)
416779:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
416780:	89 45 d4             	mov    %eax,-0x2c(%ebp)
416783:	89 45 d8             	mov    %eax,-0x28(%ebp)
416786:	8d 47 6c             	lea    0x6c(%edi),%eax
416789:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
416790:	89 45 e4             	mov    %eax,-0x1c(%ebp)
416793:	8d 5f 18             	lea    0x18(%edi),%ebx
416796:	80 7b 18 00          	cmpb   $0x0,0x18(%ebx)
41679a:	74 0f                	je     0x4167ab
41679c:	8b cb                	mov    %ebx,%ecx
41679e:	e8 fd 53 ff ff       	call   0x40bba0
4167a3:	84 c0                	test   %al,%al
4167a5:	0f 84 e1 ea 00 00    	je     0x42528c
4167ab:	8d 45 f0             	lea    -0x10(%ebp),%eax
4167ae:	50                   	push   %eax
4167af:	8d 45 bc             	lea    -0x44(%ebp),%eax
4167b2:	50                   	push   %eax
4167b3:	8d 4f 6c             	lea    0x6c(%edi),%ecx
4167b6:	e8 85 64 ff ff       	call   0x40cc40
4167bb:	8b f0                	mov    %eax,%esi
4167bd:	85 f6                	test   %esi,%esi
4167bf:	0f 84 f1 ea 00 00    	je     0x4252b6
4167c5:	80 7b 18 00          	cmpb   $0x0,0x18(%ebx)
4167c9:	74 07                	je     0x4167d2
4167cb:	53                   	push   %ebx
4167cc:	ff 15 40 11 45 00    	call   *0x451140
4167d2:	85 f6                	test   %esi,%esi
4167d4:	74 c0                	je     0x416796
4167d6:	81 fe 02 00 00 80    	cmp    $0x80000002,%esi
4167dc:	0f 85 d0 00 00 00    	jne    0x4168b2
4167e2:	80 7b 18 00          	cmpb   $0x0,0x18(%ebx)
4167e6:	74 0f                	je     0x4167f7
4167e8:	8b cb                	mov    %ebx,%ecx
4167ea:	e8 b1 53 ff ff       	call   0x40bba0
4167ef:	84 c0                	test   %al,%al
4167f1:	0f 84 4d ec 00 00    	je     0x425444
4167f7:	8b 7d e4             	mov    -0x1c(%ebp),%edi
4167fa:	33 f6                	xor    %esi,%esi
4167fc:	8d 64 24 00          	lea    0x0(%esp),%esp
416800:	8b 4d cc             	mov    -0x34(%ebp),%ecx
416803:	85 c9                	test   %ecx,%ecx
416805:	0f 85 63 ec 00 00    	jne    0x42546e
41680b:	80 7b 18 00          	cmpb   $0x0,0x18(%ebx)
41680f:	8b 7d e8             	mov    -0x18(%ebp),%edi
416812:	74 0a                	je     0x41681e
416814:	53                   	push   %ebx
416815:	ff 15 40 11 45 00    	call   *0x451140
41681b:	8b 4d cc             	mov    -0x34(%ebp),%ecx
41681e:	85 f6                	test   %esi,%esi
416820:	75 4b                	jne    0x41686d
416822:	83 c7 5c             	add    $0x5c,%edi
416825:	89 7d e0             	mov    %edi,-0x20(%ebp)
416828:	80 7b 18 00          	cmpb   $0x0,0x18(%ebx)
41682c:	74 0f                	je     0x41683d
41682e:	8b cb                	mov    %ebx,%ecx
416830:	e8 6b 53 ff ff       	call   0x40bba0
416835:	84 c0                	test   %al,%al
416837:	0f 84 68 ec 00 00    	je     0x4254a5
41683d:	8d 45 ec             	lea    -0x14(%ebp),%eax
416840:	8b cf                	mov    %edi,%ecx
416842:	50                   	push   %eax
416843:	8d 45 ac             	lea    -0x54(%ebp),%eax
416846:	50                   	push   %eax
416847:	e8 f4 63 ff ff       	call   0x40cc40
41684c:	8b f0                	mov    %eax,%esi
41684e:	85 f6                	test   %esi,%esi
416850:	0f 84 a6 00 00 00    	je     0x4168fc
416856:	80 7b 18 00          	cmpb   $0x0,0x18(%ebx)
41685a:	74 07                	je     0x416863
41685c:	53                   	push   %ebx
41685d:	ff 15 40 11 45 00    	call   *0x451140
416863:	85 f6                	test   %esi,%esi
416865:	74 c1                	je     0x416828
416867:	8b 4d cc             	mov    -0x34(%ebp),%ecx
41686a:	8b 7d e8             	mov    -0x18(%ebp),%edi
41686d:	81 fe 02 00 00 80    	cmp    $0x80000002,%esi
416873:	75 3d                	jne    0x4168b2
416875:	80 7b 18 00          	cmpb   $0x0,0x18(%ebx)
416879:	74 12                	je     0x41688d
41687b:	8b cb                	mov    %ebx,%ecx
41687d:	e8 1e 53 ff ff       	call   0x40bba0
416882:	84 c0                	test   %al,%al
416884:	0f 84 da ed 00 00    	je     0x425664
41688a:	8b 4d cc             	mov    -0x34(%ebp),%ecx
41688d:	33 f6                	xor    %esi,%esi
41688f:	90                   	nop
416890:	85 c9                	test   %ecx,%ecx
416892:	0f 85 f6 ed 00 00    	jne    0x42568e
416898:	80 7b 18 00          	cmpb   $0x0,0x18(%ebx)
41689c:	74 07                	je     0x4168a5
41689e:	53                   	push   %ebx
41689f:	ff 15 40 11 45 00    	call   *0x451140
4168a5:	85 f6                	test   %esi,%esi
4168a7:	75 11                	jne    0x4168ba
4168a9:	8b cf                	mov    %edi,%ecx
4168ab:	e8 10 5d ff ff       	call   0x40c5c0
4168b0:	8b f0                	mov    %eax,%esi
4168b2:	85 f6                	test   %esi,%esi
4168b4:	0f 84 dc fe ff ff    	je     0x416796
4168ba:	81 fe 0d 00 00 80    	cmp    $0x8000000d,%esi
4168c0:	0f 84 d0 fe ff ff    	je     0x416796
4168c6:	8d 4d cc             	lea    -0x34(%ebp),%ecx
4168c9:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
4168d0:	e8 83 03 00 00       	call   0x416c58
4168d5:	8d 4d cc             	lea    -0x34(%ebp),%ecx
4168d8:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
4168dc:	e8 77 03 00 00       	call   0x416c58
4168e1:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
4168e8:	8b c6                	mov    %esi,%eax
4168ea:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4168ed:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4168f4:	59                   	pop    %ecx
4168f5:	5f                   	pop    %edi
4168f6:	5e                   	pop    %esi
4168f7:	5b                   	pop    %ebx
4168f8:	8b e5                	mov    %ebp,%esp
4168fa:	5d                   	pop    %ebp
4168fb:	c3                   	ret
4168fc:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
416900:	0f 84 0c ec 00 00    	je     0x425512
416906:	8b 37                	mov    (%edi),%esi
416908:	8b c6                	mov    %esi,%eax
41690a:	85 c0                	test   %eax,%eax
41690c:	74 0b                	je     0x416919
41690e:	8b 48 18             	mov    0x18(%eax),%ecx
416911:	85 c9                	test   %ecx,%ecx
416913:	0f 85 b6 eb 00 00    	jne    0x4254cf
416919:	8d 48 08             	lea    0x8(%eax),%ecx
41691c:	89 4d dc             	mov    %ecx,-0x24(%ebp)
41691f:	85 f6                	test   %esi,%esi
416921:	0f 84 e1 eb 00 00    	je     0x425508
416927:	8b 01                	mov    (%ecx),%eax
416929:	8d 56 08             	lea    0x8(%esi),%edx
41692c:	3b 02                	cmp    (%edx),%eax
41692e:	0f 85 a9 eb 00 00    	jne    0x4254dd
416934:	8b 41 08             	mov    0x8(%ecx),%eax
416937:	3b 42 08             	cmp    0x8(%edx),%eax
41693a:	0f 85 9d eb 00 00    	jne    0x4254dd
416940:	8b 41 0c             	mov    0xc(%ecx),%eax
416943:	3b 42 0c             	cmp    0xc(%edx),%eax
416946:	0f 85 91 eb 00 00    	jne    0x4254dd
41694c:	56                   	push   %esi
41694d:	8b cf                	mov    %edi,%ecx
41694f:	e8 dc 5f ff ff       	call   0x40c930
416954:	8b f0                	mov    %eax,%esi
416956:	85 f6                	test   %esi,%esi
416958:	0f 85 f7 ec 00 00    	jne    0x425655
41695e:	80 7b 18 00          	cmpb   $0x0,0x18(%ebx)
416962:	74 07                	je     0x41696b
416964:	53                   	push   %ebx
416965:	ff 15 40 11 45 00    	call   *0x451140
41696b:	8b 75 ec             	mov    -0x14(%ebp),%esi
41696e:	83 7e 24 02          	cmpl   $0x2,0x24(%esi)
416972:	0f 85 8e ec 00 00    	jne    0x425606
416978:	8b 06                	mov    (%esi),%eax
41697a:	ff 75 e8             	push   -0x18(%ebp)
41697d:	8b 40 14             	mov    0x14(%eax),%eax
416980:	89 45 dc             	mov    %eax,-0x24(%ebp)
416983:	3d 40 cf 40 00       	cmp    $0x40cf40,%eax
416988:	75 6d                	jne    0x4169f7
41698a:	8b ce                	mov    %esi,%ecx
41698c:	e8 af 65 ff ff       	call   0x40cf40
416991:	8b f0                	mov    %eax,%esi
416993:	83 fe 02             	cmp    $0x2,%esi
416996:	0f 85 92 eb 00 00    	jne    0x42552e
41699c:	80 7b 18 00          	cmpb   $0x0,0x18(%ebx)
4169a0:	74 0f                	je     0x4169b1
4169a2:	8b cb                	mov    %ebx,%ecx
4169a4:	e8 f7 51 ff ff       	call   0x40bba0
4169a9:	84 c0                	test   %al,%al
4169ab:	0f 84 0d ec 00 00    	je     0x4255be
4169b1:	8b 45 ec             	mov    -0x14(%ebp),%eax
4169b4:	8b 40 20             	mov    0x20(%eax),%eax