438840:	75 6c                	jne    0x4388ae
438842:	39 7d 0c             	cmp    %edi,0xc(%ebp)
438845:	74 24                	je     0x43886b
438847:	39 3d 28 01 4c 00    	cmp    %edi,0x4c0128
43884d:	74 1c                	je     0x43886b
43884f:	e8 a0 e8 ff ff       	call   0x4370f4
438854:	85 c0                	test   %eax,%eax
438856:	74 4c                	je     0x4388a4
438858:	e8 b1 f3 fe ff       	call   0x427c0e
43885d:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
438863:	83 c8 ff             	or     $0xffffffff,%eax
438866:	5e                   	pop    %esi
438867:	5b                   	pop    %ebx
438868:	5f                   	pop    %edi
438869:	c9                   	leave
43886a:	c3                   	ret
43886b:	85 c0                	test   %eax,%eax
43886d:	0f 85 8c 01 00 00    	jne    0x4389ff
438873:	6a 04                	push   $0x4
438875:	e8 56 e1 fe ff       	call   0x4269d0
43887a:	59                   	pop    %ecx
43887b:	a3 24 01 4c 00       	mov    %eax,0x4c0124
438880:	85 c0                	test   %eax,%eax
438882:	74 df                	je     0x438863
438884:	83 20 00             	andl   $0x0,(%eax)
438887:	83 3d 28 01 4c 00 00 	cmpl   $0x0,0x4c0128
43888e:	75 14                	jne    0x4388a4
438890:	6a 04                	push   $0x4
438892:	e8 39 e1 fe ff       	call   0x4269d0
438897:	59                   	pop    %ecx
438898:	a3 28 01 4c 00       	mov    %eax,0x4c0128
43889d:	85 c0                	test   %eax,%eax
43889f:	74 c2                	je     0x438863
4388a1:	83 20 00             	andl   $0x0,(%eax)
4388a4:	8b 3d 24 01 4c 00    	mov    0x4c0124,%edi
4388aa:	85 ff                	test   %edi,%edi
4388ac:	74 b5                	je     0x438863
4388ae:	8b c6                	mov    %esi,%eax
4388b0:	2b c3                	sub    %ebx,%eax
4388b2:	50                   	push   %eax
4388b3:	53                   	push   %ebx
4388b4:	e8 ba 01 00 00       	call   0x438a73
4388b9:	8b f0                	mov    %eax,%esi
4388bb:	59                   	pop    %ecx
4388bc:	59                   	pop    %ecx
4388bd:	85 f6                	test   %esi,%esi
4388bf:	78 57                	js     0x438918
4388c1:	83 3f 00             	cmpl   $0x0,(%edi)
4388c4:	74 52                	je     0x438918
4388c6:	ff 34 b7             	push   (%edi,%esi,4)
4388c9:	e8 cf 93 fe ff       	call   0x421c9d
4388ce:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
4388d2:	59                   	pop    %ecx
4388d3:	75 16                	jne    0x4388eb
4388d5:	89 1c b7             	mov    %ebx,(%edi,%esi,4)
4388d8:	8b 7d 08             	mov    0x8(%ebp),%edi
4388db:	83 27 00             	andl   $0x0,(%edi)
4388de:	e9 87 00 00 00       	jmp    0x43896a
4388e3:	8b 44 b7 04          	mov    0x4(%edi,%esi,4),%eax
4388e7:	89 04 b7             	mov    %eax,(%edi,%esi,4)
4388ea:	46                   	inc    %esi
4388eb:	83 3c b7 00          	cmpl   $0x0,(%edi,%esi,4)
4388ef:	75 f2                	jne    0x4388e3
4388f1:	81 fe ff ff ff 3f    	cmp    $0x3fffffff,%esi
4388f7:	73 6e                	jae    0x438967
4388f9:	6a 04                	push   $0x4
4388fb:	56                   	push   %esi
4388fc:	ff 35 24 01 4c 00    	push   0x4c0124
438902:	e8 5e e1 fe ff       	call   0x426a65
438907:	8b 7d 08             	mov    0x8(%ebp),%edi
43890a:	83 c4 0c             	add    $0xc,%esp
43890d:	85 c0                	test   %eax,%eax
43890f:	74 59                	je     0x43896a
438911:	a3 24 01 4c 00       	mov    %eax,0x4c0124
438916:	eb 52                	jmp    0x43896a
438918:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
43891c:	0f 85 d0 00 00 00    	jne    0x4389f2
438922:	85 f6                	test   %esi,%esi
438924:	79 02                	jns    0x438928
438926:	f7 de                	neg    %esi
438928:	8d 46 02             	lea    0x2(%esi),%eax
43892b:	3b c6                	cmp    %esi,%eax
43892d:	0f 8c 30 ff ff ff    	jl     0x438863
438933:	3d ff ff ff 3f       	cmp    $0x3fffffff,%eax
438938:	0f 83 25 ff ff ff    	jae    0x438863
43893e:	50                   	push   %eax
43893f:	6a 04                	push   $0x4
438941:	ff 35 24 01 4c 00    	push   0x4c0124
438947:	e8 19 e1 fe ff       	call   0x426a65
43894c:	83 c4 0c             	add    $0xc,%esp
43894f:	85 c0                	test   %eax,%eax
438951:	0f 84 0c ff ff ff    	je     0x438863
438957:	8b 7d 08             	mov    0x8(%ebp),%edi
43895a:	83 64 b0 04 00       	andl   $0x0,0x4(%eax,%esi,4)
43895f:	89 1c b0             	mov    %ebx,(%eax,%esi,4)
438962:	83 27 00             	andl   $0x0,(%edi)
438965:	eb aa                	jmp    0x438911
438967:	8b 7d 08             	mov    0x8(%ebp),%edi
43896a:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
43896e:	74 6a                	je     0x4389da
438970:	6a 01                	push   $0x1
438972:	53                   	push   %ebx
438973:	e8 58 8e fe ff       	call   0x4217d0
438978:	59                   	pop    %ecx
438979:	83 c0 02             	add    $0x2,%eax
43897c:	50                   	push   %eax
43897d:	e8 04 e0 fe ff       	call   0x426986
438982:	8b f0                	mov    %eax,%esi
438984:	59                   	pop    %ecx
438985:	59                   	pop    %ecx
438986:	85 f6                	test   %esi,%esi
438988:	74 50                	je     0x4389da
43898a:	53                   	push   %ebx
43898b:	53                   	push   %ebx
43898c:	e8 3f 8e fe ff       	call   0x4217d0
438991:	59                   	pop    %ecx
438992:	83 c0 02             	add    $0x2,%eax
438995:	50                   	push   %eax
438996:	56                   	push   %esi
438997:	e8 76 9b ff ff       	call   0x432512
43899c:	83 c4 0c             	add    $0xc,%esp
43899f:	85 c0                	test   %eax,%eax
4389a1:	75 63                	jne    0x438a06
4389a3:	8b ce                	mov    %esi,%ecx
4389a5:	2b cb                	sub    %ebx,%ecx
4389a7:	03 4d f4             	add    -0xc(%ebp),%ecx
4389aa:	88 01                	mov    %al,(%ecx)
4389ac:	8b 45 fc             	mov    -0x4(%ebp),%eax
4389af:	41                   	inc    %ecx
4389b0:	f7 d8                	neg    %eax
4389b2:	1b c0                	sbb    %eax,%eax
4389b4:	f7 d0                	not    %eax
4389b6:	23 c1                	and    %ecx,%eax
4389b8:	50                   	push   %eax
4389b9:	56                   	push   %esi
4389ba:	ff 15 e0 d3 48 00    	call   *0x48d3e0
4389c0:	85 c0                	test   %eax,%eax
4389c2:	75 0f                	jne    0x4389d3
4389c4:	83 4d f8 ff          	orl    $0xffffffff,-0x8(%ebp)
4389c8:	e8 41 f2 fe ff       	call   0x427c0e
4389cd:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
4389d3:	56                   	push   %esi
4389d4:	e8 c4 92 fe ff       	call   0x421c9d
4389d9:	59                   	pop    %ecx
4389da:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
4389de:	74 0a                	je     0x4389ea
4389e0:	53                   	push   %ebx
4389e1:	e8 b7 92 fe ff       	call   0x421c9d
4389e6:	83 27 00             	andl   $0x0,(%edi)
4389e9:	59                   	pop    %ecx
4389ea:	8b 45 f8             	mov    -0x8(%ebp),%eax
4389ed:	e9 74 fe ff ff       	jmp    0x438866
4389f2:	53                   	push   %ebx
4389f3:	e8 a5 92 fe ff       	call   0x421c9d
4389f8:	8b 7d 08             	mov    0x8(%ebp),%edi
4389fb:	59                   	pop    %ecx
4389fc:	83 27 00             	andl   $0x0,(%edi)
4389ff:	33 c0                	xor    %eax,%eax
438a01:	e9 60 fe ff ff       	jmp    0x438866
438a06:	33 c0                	xor    %eax,%eax
438a08:	50                   	push   %eax
438a09:	50                   	push   %eax
438a0a:	50                   	push   %eax
438a0b:	50                   	push   %eax
438a0c:	50                   	push   %eax
438a0d:	e8 0e e4 fe ff       	call   0x426e20
438a12:	cc                   	int3
438a13:	55                   	push   %ebp
438a14:	8b ec                	mov    %esp,%ebp
438a16:	56                   	push   %esi
438a17:	8b 75 08             	mov    0x8(%ebp),%esi
438a1a:	33 c9                	xor    %ecx,%ecx
438a1c:	8b c6                	mov    %esi,%eax
438a1e:	85 f6                	test   %esi,%esi
438a20:	74 4e                	je     0x438a70
438a22:	39 0e                	cmp    %ecx,(%esi)
438a24:	74 09                	je     0x438a2f
438a26:	8d 40 04             	lea    0x4(%eax),%eax
438a29:	41                   	inc    %ecx
438a2a:	83 38 00             	cmpl   $0x0,(%eax)
438a2d:	75 f7                	jne    0x438a26
438a2f:	53                   	push   %ebx
438a30:	57                   	push   %edi
438a31:	8d 41 01             	lea    0x1(%ecx),%eax
438a34:	6a 04                	push   $0x4
438a36:	50                   	push   %eax
438a37:	e8 4a df fe ff       	call   0x426986
438a3c:	8b f8                	mov    %eax,%edi
438a3e:	59                   	pop    %ecx
438a3f:	59                   	pop    %ecx
438a40:	8b df                	mov    %edi,%ebx
438a42:	85 ff                	test   %edi,%edi
438a44:	75 08                	jne    0x438a4e
438a46:	6a 09                	push   $0x9
438a48:	e8 0e 87 fe ff       	call   0x42115b
438a4d:	59                   	pop    %ecx
438a4e:	8b 06                	mov    (%esi),%eax
438a50:	85 c0                	test   %eax,%eax
438a52:	74 15                	je     0x438a69
438a54:	2b f7                	sub    %edi,%esi
438a56:	50                   	push   %eax
438a57:	e8 01 04 00 00       	call   0x438e5d
438a5c:	89 07                	mov    %eax,(%edi)
438a5e:	83 c7 04             	add    $0x4,%edi
438a61:	59                   	pop    %ecx
438a62:	8b 04 3e             	mov    (%esi,%edi,1),%eax
438a65:	85 c0                	test   %eax,%eax
438a67:	75 ed                	jne    0x438a56
438a69:	83 27 00             	andl   $0x0,(%edi)
438a6c:	5f                   	pop    %edi
438a6d:	8b c3                	mov    %ebx,%eax
438a6f:	5b                   	pop    %ebx
438a70:	5e                   	pop    %esi
438a71:	5d                   	pop    %ebp
438a72:	c3                   	ret
438a73:	55                   	push   %ebp
438a74:	8b ec                	mov    %esp,%ebp
438a76:	8b 0d 24 01 4c 00    	mov    0x4c0124,%ecx
438a7c:	56                   	push   %esi
438a7d:	8b f1                	mov    %ecx,%esi
438a7f:	57                   	push   %edi
438a80:	8b 06                	mov    (%esi),%eax
438a82:	85 c0                	test   %eax,%eax
438a84:	74 30                	je     0x438ab6
438a86:	8b 7d 0c             	mov    0xc(%ebp),%edi
438a89:	57                   	push   %edi
438a8a:	50                   	push   %eax
438a8b:	ff 75 08             	push   0x8(%ebp)
438a8e:	e8 ee e6 ff ff       	call   0x437181
438a93:	83 c4 0c             	add    $0xc,%esp
438a96:	85 c0                	test   %eax,%eax
438a98:	75 0d                	jne    0x438aa7
438a9a:	8b 06                	mov    (%esi),%eax
438a9c:	8a 04 07             	mov    (%edi,%eax,1),%al
438a9f:	3c 3d                	cmp    $0x3d,%al
438aa1:	74 20                	je     0x438ac3
438aa3:	84 c0                	test   %al,%al
438aa5:	74 1c                	je     0x438ac3
438aa7:	83 c6 04             	add    $0x4,%esi
438aaa:	8b 06                	mov    (%esi),%eax
438aac:	85 c0                	test   %eax,%eax
438aae:	75 d9                	jne    0x438a89
438ab0:	8b 0d 24 01 4c 00    	mov    0x4c0124,%ecx
438ab6:	2b f1                	sub    %ecx,%esi
438ab8:	c1 fe 02             	sar    $0x2,%esi
438abb:	f7 de                	neg    %esi
438abd:	5f                   	pop    %edi
438abe:	8b c6                	mov    %esi,%eax
438ac0:	5e                   	pop    %esi
438ac1:	5d                   	pop    %ebp
438ac2:	c3                   	ret
438ac3:	2b 35 24 01 4c 00    	sub    0x4c0124,%esi
438ac9:	c1 fe 02             	sar    $0x2,%esi
438acc:	eb ef                	jmp    0x438abd
438ace:	55                   	push   %ebp
438acf:	8b ec                	mov    %esp,%ebp
438ad1:	83 ec 10             	sub    $0x10,%esp
438ad4:	8d 4d f0             	lea    -0x10(%ebp),%ecx
438ad7:	53                   	push   %ebx
438ad8:	56                   	push   %esi
438ad9:	57                   	push   %edi
438ada:	ff 75 14             	push   0x14(%ebp)
438add:	e8 3d 84 fe ff       	call   0x420f1f
438ae2:	8b 45 10             	mov    0x10(%ebp),%eax
438ae5:	85 c0                	test   %eax,%eax
438ae7:	75 07                	jne    0x438af0
438ae9:	33 f6                	xor    %esi,%esi
438aeb:	e9 8d 00 00 00       	jmp    0x438b7d
438af0:	8b 4d 08             	mov    0x8(%ebp),%ecx
438af3:	85 c9                	test   %ecx,%ecx
438af5:	74 07                	je     0x438afe
438af7:	8b 55 0c             	mov    0xc(%ebp),%edx
438afa:	85 d2                	test   %edx,%edx
438afc:	75 17                	jne    0x438b15
438afe:	e8 0b f1 fe ff       	call   0x427c0e
438b03:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
438b09:	e8 02 e3 fe ff       	call   0x426e10
438b0e:	be ff ff ff 7f       	mov    $0x7fffffff,%esi
438b13:	eb 68                	jmp    0x438b7d
438b15:	be ff ff ff 7f       	mov    $0x7fffffff,%esi
438b1a:	3b c6                	cmp    %esi,%eax
438b1c:	76 12                	jbe    0x438b30
438b1e:	e8 eb f0 fe ff       	call   0x427c0e
438b23:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
438b29:	e8 e2 e2 fe ff       	call   0x426e10
438b2e:	eb 4d                	jmp    0x438b7d
438b30:	8b 7d f0             	mov    -0x10(%ebp),%edi
438b33:	8b 9f a4 00 00 00    	mov    0xa4(%edi),%ebx
438b39:	85 db                	test   %ebx,%ebx
438b3b:	75 13                	jne    0x438b50
438b3d:	8d 75 f0             	lea    -0x10(%ebp),%esi
438b40:	56                   	push   %esi
438b41:	50                   	push   %eax
438b42:	52                   	push   %edx
438b43:	51                   	push   %ecx
438b44:	e8 14 04 00 00       	call   0x438f5d
438b49:	83 c4 10             	add    $0x10,%esp
438b4c:	8b f0                	mov    %eax,%esi
438b4e:	eb 2d                	jmp    0x438b7d
438b50:	ff 77 08             	push   0x8(%edi)
438b53:	50                   	push   %eax
438b54:	52                   	push   %edx
438b55:	50                   	push   %eax
438b56:	51                   	push   %ecx
438b57:	68 01 10 00 00       	push   $0x1001
438b5c:	8d 45 f0             	lea    -0x10(%ebp),%eax
438b5f:	53                   	push   %ebx
438b60:	50                   	push   %eax
438b61:	e8 b6 02 00 00       	call   0x438e1c
438b66:	83 c4 20             	add    $0x20,%esp
438b69:	85 c0                	test   %eax,%eax
438b6b:	75 0d                	jne    0x438b7a
438b6d:	e8 9c f0 fe ff       	call   0x427c0e
438b72:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
438b78:	eb 03                	jmp    0x438b7d
438b7a:	8d 70 fe             	lea    -0x2(%eax),%esi
438b7d:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
438b81:	74 07                	je     0x438b8a
438b83:	8b 4d f8             	mov    -0x8(%ebp),%ecx
438b86:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
438b8a:	5f                   	pop    %edi
438b8b:	8b c6                	mov    %esi,%eax
438b8d:	5e                   	pop    %esi
438b8e:	5b                   	pop    %ebx
438b8f:	c9                   	leave
438b90:	c3                   	ret
438b91:	55                   	push   %ebp
438b92:	8b ec                	mov    %esp,%ebp
438b94:	83 ec 2c             	sub    $0x2c,%esp
438b97:	a1 c0 ad 4b 00       	mov    0x4badc0,%eax
438b9c:	33 c5                	xor    %ebp,%eax
438b9e:	89 45 fc             	mov    %eax,-0x4(%ebp)
438ba1:	8b 45 08             	mov    0x8(%ebp),%eax
438ba4:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
438ba7:	53                   	push   %ebx
438ba8:	89 45 e0             	mov    %eax,-0x20(%ebp)
438bab:	8b 45 0c             	mov    0xc(%ebp),%eax
438bae:	56                   	push   %esi
438baf:	8b 75 18             	mov    0x18(%ebp),%esi
438bb2:	89 45 d4             	mov    %eax,-0x2c(%ebp)
438bb5:	8b 45 14             	mov    0x14(%ebp),%eax
438bb8:	57                   	push   %edi
438bb9:	89 45 e4             	mov    %eax,-0x1c(%ebp)
438bbc:	89 4d dc             	mov    %ecx,-0x24(%ebp)
438bbf:	85 f6                	test   %esi,%esi
438bc1:	7e 22                	jle    0x438be5
438bc3:	56                   	push   %esi
438bc4:	50                   	push   %eax
438bc5:	e8 32 02 00 00       	call   0x438dfc
438bca:	59                   	pop    %ecx