43886b:	74 07                	je     0x438874
43886d:	f3 90                	pause
43886f:	e9 72 ff ff ff       	jmp    0x4387e6
438874:	66 8b 45 fc          	mov    -0x4(%ebp),%ax
438878:	0f b7 c0             	movzwl %ax,%eax
43887b:	6a 00                	push   $0x0
43887d:	6a 01                	push   $0x1
43887f:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
438882:	a1 e8 12 45 00       	mov    0x4512e8,%eax
438887:	ff 34 88             	push   (%eax,%ecx,4)
43888a:	ff 15 18 22 45 00    	call   *0x452218
438890:	5e                   	pop    %esi
438891:	8b e5                	mov    %ebp,%esp
438893:	5d                   	pop    %ebp
438894:	c3                   	ret
438895:	cc                   	int3
438896:	cc                   	int3
438897:	cc                   	int3
438898:	cc                   	int3
438899:	cc                   	int3
43889a:	cc                   	int3
43889b:	cc                   	int3
43889c:	cc                   	int3
43889d:	cc                   	int3
43889e:	cc                   	int3
43889f:	cc                   	int3
4388a0:	8b ff                	mov    %edi,%edi
4388a2:	55                   	push   %ebp
4388a3:	8b ec                	mov    %esp,%ebp
4388a5:	53                   	push   %ebx
4388a6:	56                   	push   %esi
4388a7:	8b 31                	mov    (%ecx),%esi
4388a9:	8b da                	mov    %edx,%ebx
4388ab:	57                   	push   %edi
4388ac:	8b 7d 08             	mov    0x8(%ebp),%edi
4388af:	3b f7                	cmp    %edi,%esi
4388b1:	73 15                	jae    0x4388c8
4388b3:	8d 56 01             	lea    0x1(%esi),%edx
4388b6:	8b c6                	mov    %esi,%eax
4388b8:	f0 0f b1 11          	lock cmpxchg %edx,(%ecx)
4388bc:	3b f0                	cmp    %eax,%esi
4388be:	74 11                	je     0x4388d1
4388c0:	f3 90                	pause
4388c2:	8b 31                	mov    (%ecx),%esi
4388c4:	3b f7                	cmp    %edi,%esi
4388c6:	72 eb                	jb     0x4388b3
4388c8:	5f                   	pop    %edi
4388c9:	5e                   	pop    %esi
4388ca:	33 c0                	xor    %eax,%eax
4388cc:	5b                   	pop    %ebx
4388cd:	5d                   	pop    %ebp
4388ce:	c2 04 00             	ret    $0x4
4388d1:	5f                   	pop    %edi
4388d2:	89 33                	mov    %esi,(%ebx)
4388d4:	b8 01 00 00 00       	mov    $0x1,%eax
4388d9:	5e                   	pop    %esi
4388da:	5b                   	pop    %ebx
4388db:	5d                   	pop    %ebp
4388dc:	c2 04 00             	ret    $0x4
4388df:	cc                   	int3
4388e0:	8b ff                	mov    %edi,%edi
4388e2:	55                   	push   %ebp
4388e3:	8b ec                	mov    %esp,%ebp
4388e5:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
4388e9:	56                   	push   %esi
4388ea:	8b f1                	mov    %ecx,%esi
4388ec:	c7 06 34 11 40 00    	movl   $0x401134,(%esi)
4388f2:	74 19                	je     0x43890d
4388f4:	56                   	push   %esi
4388f5:	6a 00                	push   $0x0
4388f7:	ff 35 00 12 45 00    	push   0x451200
4388fd:	ff 15 18 21 45 00    	call   *0x452118
438903:	85 c0                	test   %eax,%eax
438905:	75 06                	jne    0x43890d
438907:	ff 15 6c 20 45 00    	call   *0x45206c
43890d:	8b c6                	mov    %esi,%eax
43890f:	5e                   	pop    %esi
438910:	5d                   	pop    %ebp
438911:	c2 04 00             	ret    $0x4
438914:	cc                   	int3
438915:	cc                   	int3
438916:	cc                   	int3
438917:	cc                   	int3
438918:	cc                   	int3
438919:	cc                   	int3
43891a:	cc                   	int3
43891b:	cc                   	int3
43891c:	cc                   	int3
43891d:	cc                   	int3
43891e:	cc                   	int3
43891f:	cc                   	int3
438920:	33 c0                	xor    %eax,%eax
438922:	c2 08 00             	ret    $0x8
438925:	cc                   	int3
438926:	cc                   	int3
438927:	cc                   	int3
438928:	cc                   	int3
438929:	cc                   	int3
43892a:	cc                   	int3
43892b:	cc                   	int3
43892c:	cc                   	int3
43892d:	cc                   	int3
43892e:	cc                   	int3
43892f:	cc                   	int3
438930:	c2 20 00             	ret    $0x20
438933:	cc                   	int3
438934:	cc                   	int3
438935:	cc                   	int3
438936:	cc                   	int3
438937:	cc                   	int3
438938:	cc                   	int3
438939:	cc                   	int3
43893a:	cc                   	int3
43893b:	cc                   	int3
43893c:	cc                   	int3
43893d:	cc                   	int3
43893e:	cc                   	int3
43893f:	cc                   	int3
438940:	c2 04 00             	ret    $0x4
438943:	cc                   	int3
438944:	cc                   	int3
438945:	cc                   	int3
438946:	cc                   	int3
438947:	cc                   	int3
438948:	cc                   	int3
438949:	cc                   	int3
43894a:	cc                   	int3
43894b:	cc                   	int3
43894c:	cc                   	int3
43894d:	cc                   	int3
43894e:	cc                   	int3
43894f:	cc                   	int3
438950:	c2 08 00             	ret    $0x8
438953:	cc                   	int3
438954:	cc                   	int3
438955:	cc                   	int3
438956:	cc                   	int3
438957:	cc                   	int3
438958:	cc                   	int3
438959:	cc                   	int3
43895a:	cc                   	int3
43895b:	cc                   	int3
43895c:	cc                   	int3
43895d:	cc                   	int3
43895e:	cc                   	int3
43895f:	cc                   	int3
438960:	c2 0c 00             	ret    $0xc
438963:	cc                   	int3
438964:	cc                   	int3
438965:	cc                   	int3
438966:	cc                   	int3
438967:	cc                   	int3
438968:	cc                   	int3
438969:	cc                   	int3
43896a:	cc                   	int3
43896b:	cc                   	int3
43896c:	cc                   	int3
43896d:	cc                   	int3
43896e:	cc                   	int3
43896f:	cc                   	int3
438970:	8b ff                	mov    %edi,%edi
438972:	55                   	push   %ebp
438973:	8b ec                	mov    %esp,%ebp
438975:	83 e4 f8             	and    $0xfffffff8,%esp
438978:	81 7d 08 f8 fb ff ff 	cmpl   $0xfffffbf8,0x8(%ebp)
43897f:	56                   	push   %esi
438980:	57                   	push   %edi
438981:	8b f9                	mov    %ecx,%edi
438983:	75 67                	jne    0x4389ec
438985:	83 3d 7c 12 45 00 00 	cmpl   $0x0,0x45127c
43898c:	74 5e                	je     0x4389ec
43898e:	83 3f 00             	cmpl   $0x0,(%edi)
438991:	75 14                	jne    0x4389a7
438993:	c7 07 01 00 00 00    	movl   $0x1,(%edi)
438999:	e8 62 4a ff ff       	call   0x42d400
43899e:	03 05 7c 12 45 00    	add    0x45127c,%eax
4389a4:	89 47 04             	mov    %eax,0x4(%edi)
4389a7:	8b 35 14 f0 44 00    	mov    0x44f014,%esi
4389ad:	8b ce                	mov    %esi,%ecx
4389af:	ff 15 84 23 45 00    	call   *0x452384
4389b5:	ff d6                	call   *%esi
4389b7:	6a 00                	push   $0x0
4389b9:	6a 02                	push   $0x2
4389bb:	ff 15 20 22 45 00    	call   *0x452220
4389c1:	8b 35 10 f0 44 00    	mov    0x44f010,%esi
4389c7:	8b ce                	mov    %esi,%ecx
4389c9:	ff 15 84 23 45 00    	call   *0x452384
4389cf:	ff d6                	call   *%esi
4389d1:	8b 77 04             	mov    0x4(%edi),%esi
4389d4:	e8 27 4a ff ff       	call   0x42d400
4389d9:	2b c6                	sub    %esi,%eax
4389db:	33 c9                	xor    %ecx,%ecx
4389dd:	85 c0                	test   %eax,%eax
4389df:	0f 9e c1             	setle  %cl
4389e2:	8b c1                	mov    %ecx,%eax
4389e4:	5f                   	pop    %edi
4389e5:	5e                   	pop    %esi
4389e6:	8b e5                	mov    %ebp,%esp
4389e8:	5d                   	pop    %ebp
4389e9:	c2 04 00             	ret    $0x4
4389ec:	5f                   	pop    %edi
4389ed:	33 c0                	xor    %eax,%eax
4389ef:	5e                   	pop    %esi
4389f0:	8b e5                	mov    %ebp,%esp
4389f2:	5d                   	pop    %ebp
4389f3:	c2 04 00             	ret    $0x4
4389f6:	cc                   	int3
4389f7:	cc                   	int3
4389f8:	cc                   	int3
4389f9:	cc                   	int3
4389fa:	cc                   	int3
4389fb:	cc                   	int3
4389fc:	cc                   	int3
4389fd:	cc                   	int3
4389fe:	cc                   	int3
4389ff:	cc                   	int3
438a00:	8b ff                	mov    %edi,%edi
438a02:	55                   	push   %ebp
438a03:	8b ec                	mov    %esp,%ebp
438a05:	81 ec 10 03 00 00    	sub    $0x310,%esp
438a0b:	a1 e4 f8 44 00       	mov    0x44f8e4,%eax
438a10:	33 c5                	xor    %ebp,%eax
438a12:	89 45 fc             	mov    %eax,-0x4(%ebp)
438a15:	53                   	push   %ebx
438a16:	8b 5d 08             	mov    0x8(%ebp),%ebx
438a19:	56                   	push   %esi
438a1a:	57                   	push   %edi
438a1b:	8b f9                	mov    %ecx,%edi
438a1d:	c7 85 f0 fc ff ff 00 	movl   $0x0,-0x310(%ebp)
438a24:	00 00 00
438a27:	8d 8d f4 fc ff ff    	lea    -0x30c(%ebp),%ecx
438a2d:	51                   	push   %ecx
438a2e:	53                   	push   %ebx
438a2f:	8b 07                	mov    (%edi),%eax
438a31:	8b 70 1c             	mov    0x1c(%eax),%esi
438a34:	8b ce                	mov    %esi,%ecx
438a36:	ff 15 84 23 45 00    	call   *0x452384
438a3c:	8b cf                	mov    %edi,%ecx
438a3e:	ff d6                	call   *%esi
438a40:	85 c0                	test   %eax,%eax
438a42:	79 1a                	jns    0x438a5e
438a44:	51                   	push   %ecx
438a45:	53                   	push   %ebx
438a46:	51                   	push   %ecx
438a47:	ba 04 01 00 00       	mov    $0x104,%edx
438a4c:	8d 8d f4 fc ff ff    	lea    -0x30c(%ebp),%ecx
438a52:	e8 59 c8 fd ff       	call   0x4152b0
438a57:	8b c8                	mov    %eax,%ecx
438a59:	e8 82 02 ff ff       	call   0x428ce0
438a5e:	8b 45 10             	mov    0x10(%ebp),%eax
438a61:	50                   	push   %eax
438a62:	50                   	push   %eax
438a63:	68 18 27 41 00       	push   $0x412718
438a68:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
438a6e:	68 80 00 00 00       	push   $0x80
438a73:	50                   	push   %eax
438a74:	e8 27 04 ff ff       	call   0x428ea0
438a79:	8b 75 14             	mov    0x14(%ebp),%esi
438a7c:	8d 85 fc fe ff ff    	lea    -0x104(%ebp),%eax
438a82:	56                   	push   %esi
438a83:	56                   	push   %esi
438a84:	68 e4 19 41 00       	push   $0x4119e4
438a89:	68 80 00 00 00       	push   $0x80
438a8e:	50                   	push   %eax
438a8f:	e8 0c 04 ff ff       	call   0x428ea0
438a94:	83 c4 28             	add    $0x28,%esp
438a97:	8d 85 f0 fc ff ff    	lea    -0x310(%ebp),%eax
438a9d:	6a 00                	push   $0x0
438a9f:	6a 00                	push   $0x0
438aa1:	50                   	push   %eax
438aa2:	6a 00                	push   $0x0
438aa4:	56                   	push   %esi
438aa5:	6a 00                	push   $0x0
438aa7:	68 ff 11 00 00       	push   $0x11ff
438aac:	ff 15 74 21 45 00    	call   *0x452174
438ab2:	ff b5 f0 fc ff ff    	push   -0x310(%ebp)
438ab8:	ff 15 34 21 45 00    	call   *0x452134
438abe:	8b 4d fc             	mov    -0x4(%ebp),%ecx
438ac1:	5f                   	pop    %edi
438ac2:	5e                   	pop    %esi
438ac3:	33 cd                	xor    %ebp,%ecx
438ac5:	5b                   	pop    %ebx
438ac6:	e8 85 44 01 00       	call   0x44cf50
438acb:	8b e5                	mov    %ebp,%esp
438acd:	5d                   	pop    %ebp
438ace:	c2 10 00             	ret    $0x10
438ad1:	cc                   	int3
438ad2:	cc                   	int3
438ad3:	cc                   	int3
438ad4:	cc                   	int3
438ad5:	cc                   	int3
438ad6:	cc                   	int3
438ad7:	cc                   	int3
438ad8:	cc                   	int3
438ad9:	cc                   	int3
438ada:	cc                   	int3
438adb:	cc                   	int3
438adc:	cc                   	int3
438add:	cc                   	int3
438ade:	cc                   	int3
438adf:	cc                   	int3
438ae0:	8b ff                	mov    %edi,%edi
438ae2:	55                   	push   %ebp
438ae3:	8b ec                	mov    %esp,%ebp
438ae5:	81 ec 3c 05 00 00    	sub    $0x53c,%esp
438aeb:	a1 e4 f8 44 00       	mov    0x44f8e4,%eax
438af0:	33 c5                	xor    %ebp,%eax
438af2:	89 45 fc             	mov    %eax,-0x4(%ebp)
438af5:	53                   	push   %ebx
438af6:	8b 5d 10             	mov    0x10(%ebp),%ebx
438af9:	8b c1                	mov    %ecx,%eax
438afb:	8b 4d 08             	mov    0x8(%ebp),%ecx
438afe:	89 85 d0 fa ff ff    	mov    %eax,-0x530(%ebp)
438b04:	89 8d c8 fa ff ff    	mov    %ecx,-0x538(%ebp)
438b0a:	56                   	push   %esi
438b0b:	57                   	push   %edi
438b0c:	8b 7d 0c             	mov    0xc(%ebp),%edi
438b0f:	85 db                	test   %ebx,%ebx
438b11:	0f 89 f9 00 00 00    	jns    0x438c10
438b17:	8b 00                	mov    (%eax),%eax
438b19:	8d 95 f0 fc ff ff    	lea    -0x310(%ebp),%edx
438b1f:	52                   	push   %edx
438b20:	51                   	push   %ecx
438b21:	c7 85 cc fa ff ff 00 	movl   $0x0,-0x534(%ebp)
438b28:	00 00 00
438b2b:	8b 70 1c             	mov    0x1c(%eax),%esi
438b2e:	8b ce                	mov    %esi,%ecx
438b30:	ff 15 84 23 45 00    	call   *0x452384
438b36:	8b 8d d0 fa ff ff    	mov    -0x530(%ebp),%ecx
438b3c:	ff d6                	call   *%esi
438b3e:	85 c0                	test   %eax,%eax
438b40:	79 1f                	jns    0x438b61
438b42:	51                   	push   %ecx
438b43:	ff b5 c8 fa ff ff    	push   -0x538(%ebp)
438b49:	ba 04 01 00 00       	mov    $0x104,%edx
438b4e:	51                   	push   %ecx
438b4f:	8d 8d f0 fc ff ff    	lea    -0x310(%ebp),%ecx
438b55:	e8 56 c7 fd ff       	call   0x4152b0
438b5a:	8b c8                	mov    %eax,%ecx
438b5c:	e8 7f 01 ff ff       	call   0x428ce0
438b61:	85 ff                	test   %edi,%edi
438b63:	74 41                	je     0x438ba6
438b65:	8b 85 d0 fa ff ff    	mov    -0x530(%ebp),%eax
438b6b:	8d 8d e8 fa ff ff    	lea    -0x518(%ebp),%ecx
438b71:	51                   	push   %ecx
438b72:	57                   	push   %edi
438b73:	8b 00                	mov    (%eax),%eax
438b75:	8b 70 1c             	mov    0x1c(%eax),%esi
438b78:	8b ce                	mov    %esi,%ecx
438b7a:	ff 15 84 23 45 00    	call   *0x452384